コンテンツへスキップ

SSR オプション

特に明記されていない限り、このセクションのオプションは開発時とビルド時の両方に適用されます。

ssr.external

指定された依存関係とその推移的な依存関係を SSR 用に外部化します。デフォルトでは、リンクされた依存関係(HMR 用)を除くすべての依存関係が外部化されます。リンクされた依存関係を外部化したい場合は、このオプションにその名前を渡すことができます。

true の場合、リンクされた依存関係を含むすべての依存関係が外部化されます。

明示的にリストされた依存関係(string[] 型を使用)は、ssr.noExternal(任意の型を使用)にもリストされている場合、常に優先されます。

ssr.noExternal

リストされた依存関係が SSR 用に外部化されないようにします。これらはビルド時にバンドルされます。デフォルトでは、リンクされた依存関係のみが外部化されません(HMR 用)。リンクされた依存関係を外部化したい場合は、その名前をssr.externalオプションに渡すことができます。

true の場合、依存関係は外部化されません。ただし、ssr.externalstring[] 型を使用)に明示的にリストされている依存関係は優先され、外部化される可能性があります。ssr.target: 'node' が設定されている場合、Node.js の組み込みモジュールもデフォルトで外部化されます。

ssr.noExternal: truessr.external: true の両方が設定されている場合、ssr.noExternal が優先され、依存関係は外部化されません。

ssr.target

  • 型: 'node' | 'webworker'
  • デフォルト: node

SSR サーバーのビルドターゲット。

ssr.resolve.conditions

  • 型: string[]
  • デフォルト: ['module', 'node', 'development|production'] (defaultServerConditions) (['module', 'browser', 'development|production'] (defaultClientConditions) for ssr.target === 'webworker')
  • 関連: 解決条件

これらの条件はプラグインパイプラインで使用され、SSR ビルド中の外部化されていない依存関係のみに影響します。外部化されたインポートに影響を与えるには、ssr.resolve.externalConditions を使用します。

ssr.resolve.externalConditions

  • 型: string[]
  • デフォルト: ['node']

外部化された直接依存関係(Vite によってインポートされた外部依存関係)の ssr インポート(ssrLoadModule を含む)で使用される条件。

ヒント

このオプションを使用する場合は、開発時とビルド時の両方で同じ値を使用して、--conditions フラグ付きで Node を実行して、一貫した動作を実現してください。

たとえば、['node', 'custom'] を設定する場合は、開発時に NODE_OPTIONS='--conditions custom' vite を実行し、ビルド後に NODE_OPTIONS="--conditions custom" node ./dist/server.js を実行します。

ssr.resolve.mainFields

  • 型: string[]
  • デフォルト: ['module', 'jsnext:main', 'jsnext']

パッケージのエントリポイントを解決する際に試行するpackage.json内のフィールドのリスト。これは、exportsフィールドから解決された条件付きエクスポートよりも優先順位が低いため、エントリポイントがexportsから正常に解決された場合、mainフィールドは無視されます。この設定は、外部化されていない依存関係のみに影響します。

MIT ライセンスの下でリリースされています。(ccee3d7c)