環境ごとの API への移行
フィードバック
環境APIフィードバックディスカッションでフィードバックをお寄せください
モジュールグラフおよびモジュールの変換に関連する ViteDevServer からの複数の API が、DevEnvironment インスタンスに移動しました。
影響範囲: Vite プラグイン作者
将来的な非推奨化
Environment インスタンスは v6.0 で初めて導入されました。server.moduleGraph および現在環境内に存在する他のメソッドの非推奨化は、将来のメジャーリリースで計画されています。まだサーバーメソッドから移行することはお勧めしません。使用状況を特定するには、これらを vite 設定で設定してください。
future: {
removeServerModuleGraph: 'warn',
removeServerTransformRequest: 'warn',
}動機
Vite v5 以前では、単一の Vite 開発サーバーは常に 2 つの環境 (client と ssr) を持っていました。server.moduleGraph にはこれら両方の環境からのモジュールが混在していました。ノードは clientImportedModules および ssrImportedModules リストを介して接続されていました (ただし、各ノードに対して単一の importers リストが維持されていました)。変換されたモジュールは id と ssr ブール値で表されていました。このブール値は API に渡す必要がありました。たとえば、server.moduleGraph.getModuleByUrl(url, ssr) や server.transformRequest(url, { ssr }) などです。
Vite v6 では、任意の数のカスタム環境 (client、ssr、edge など) を作成できるようになりました。単一の ssr ブール値では不十分になりました。API を server.transformRequest(url, { environment }) の形式に変更する代わりに、これらのメソッドを環境インスタンスに移動することで、Vite 開発サーバーなしで呼び出せるようになりました。
移行ガイド
server.moduleGraph->environment.moduleGraphserver.transformRequest(url, ssr)->environment.transformRequest(url)server.warmupRequest(url, ssr)->environment.warmupRequest(url)