SSR オプション
特に記載がない限り、このセクションのオプションは開発とビルドの両方に適用されます。
ssr.external
- 型:
string[] | true
- 関連: 外部 SSR
SSR 用の指定された依存関係と、その遷移的な(transitive)依存関係を外部化します。デフォルトでは、(HMR のために)リンクされた依存関係を除いて、すべての依存関係が外部化されます。リンクされた依存関係を外部化したい場合、その名前をこのオプションに渡せます。
true
の場合、リンクされた依存関係を含むすべての依存関係が外部化されます。
ssr.noExternal
に(任意の型を使用して)リストされた場合でも、(string[]
型を使用して)明示的にリストされた依存関係が常に優先されることに注意してください。
ssr.noExternal
- 型:
string | RegExp | (string | RegExp)[] | true
- 関連: 外部 SSR
指定した依存関係が SSR のために外部化されるのを防ぎます。もし外部化された場合、依存関係はビルドにバンドルされます。デフォルトでは、(HMR のために)リンクされた依存関係だけが外部化されません。リンクされた依存関係を外部化したい場合は、その名前を ssr.external
オプションに渡せます。
true
の場合、どの依存関係も外部化されません。ただし、(string[]
型を使用して)ssr.external
に明示的にリストされた依存関係は優先され、依然として外部化されます。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
を含む)の際に使用される条件。
TIP
このオプションを使用する場合、一貫性のある動作のために、開発時とビルド時の両方で同じ値を使用して --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
から正常に解決された場合、メインフィールドは無視されます。この設定は、外部化されていない依存関係のみに影響します。