SSR オプション
特に明記されていない限り、このセクションのオプションは開発時とビルド時の両方に適用されます。
ssr.external
- 型:
string[] | true
- 関連: SSR 外部依存関係
指定された依存関係とその推移的な依存関係を SSR 用に外部化します。デフォルトでは、リンクされた依存関係(HMR 用)を除くすべての依存関係が外部化されます。リンクされた依存関係を外部化したい場合は、このオプションにその名前を渡すことができます。
true
の場合、リンクされた依存関係を含むすべての依存関係が外部化されます。
明示的にリストされた依存関係(string[]
型を使用)は、ssr.noExternal
(任意の型を使用)にもリストされている場合、常に優先されます。
ssr.noExternal
- 型:
string | RegExp | (string | RegExp)[] | true
- 関連: SSR 外部依存関係
リストされた依存関係が SSR 用に外部化されないようにします。これらはビルド時にバンドルされます。デフォルトでは、リンクされた依存関係のみが外部化されません(HMR 用)。リンクされた依存関係を外部化したい場合は、その名前をssr.external
オプションに渡すことができます。
true
の場合、依存関係は外部化されません。ただし、ssr.external
(string[]
型を使用)に明示的にリストされている依存関係は優先され、外部化される可能性があります。ssr.target: 'node'
が設定されている場合、Node.js の組み込みモジュールもデフォルトで外部化されます。
ssr.noExternal: true
と ssr.external: true
の両方が設定されている場合、ssr.noExternal
が優先され、依存関係は外部化されません。
ssr.target
- 型:
'node' | 'webworker'
- デフォルト:
node
SSR サーバーのビルドターゲット。
ssr.resolve.conditions
- 型:
string[]
- デフォルト:
['module', 'node', 'development|production']
(defaultServerConditions
) (['module', 'browser', 'development|production']
(defaultClientConditions
) forssr.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フィールドは無視されます。この設定は、外部化されていない依存関係のみに影響します。