SSR オプション
特に断りのない限り、このセクションのオプションは開発環境とビルド環境の両方に適用されます。
ssr.external
- 型:
string[] | true - 関連: SSR Externals
指定された依存関係とその推移的な依存関係を SSR のために外部化します。デフォルトでは、リンクされた依存関係 (HMR 用) を除くすべての依存関係が外部化されます。リンクされた依存関係を外部化したい場合は、その名前をこのオプションに渡すことができます。
true の場合、リンクされた依存関係を含むすべての依存関係が外部化されます。
明示的にリストされた依存関係 (string[] 型を使用) は、それらが ssr.noExternal (任意の型を使用) にもリストされている場合、常に優先されることに注意してください。
ssr.noExternal
- 型:
string | RegExp | (string | RegExp)[] | true - 関連: SSR Externals
リストされた依存関係が 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) (ssr.target === 'webworker'の場合は['module', 'browser', 'development|production'](defaultClientConditions)) - 関連: Resolve Conditions
これらの条件はプラグインパイプラインで使用され、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 から正常に解決された場合、メインフィールドは無視されます。この設定は外部化されていない依存関係にのみ影響します。