コンテンツにスキップ

環境別の API への移行

フィードバック

環境 API フィードバックディスカッションでフィードバックを送信

ViteDevServer のモジュールグラフおよびモジュール変換に関連する複数の API が、DevEnvironment インスタンスに移動されました。

影響範囲: Vite プラグイン作者

将来の非推奨化

Environment インスタンスは、v6.0 で最初に導入されました。server.moduleGraph などの非推奨化と、現在は環境にある他のメソッドは、v7.0 で計画されています。サーバーメソッドからの移動はお勧めしません。使用を特定するには、vite 設定でこれらを設定します。

ts
future: {
  removeServerModuleGraph: 'warn',
  removeServerTransformRequest: 'warn',
}

動機

Vite v5 以前では、単一の Vite dev サーバーには常に 2 つの環境 (clientssr) がありました。server.moduleGraph には、これら 2 つの環境からの混合モジュールが含まれていました。ノードは clientImportedModules リストと ssrImportedModules リストを介して接続されていましたが (単一の importers リストはそれぞれに保持されていました)。変換されたモジュールは、idssr ブール値で表されていました。このブール値は、server.moduleGraph.getModuleByUrl(url, ssr)server.transformRequest(url, { ssr }) などの API に渡す必要がありました。

Vite v6 では、任意の数のカスタム環境 (clientssredge など) を作成できるようになりました。単一の 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)

MITライセンスに従ってリリースされています。(ccee3d7c)