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