Skip to content

環境ごとの API への移行

フィードバック

Environment API feedback discussionでフィードバックをお寄せください。

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

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

将来の廃止予定

Environment インスタンスは v6.0 で初めて導入されました。v7.0 では現在環境にある server.moduleGraph やその他のメソッドが廃止される予定です。まだサーバーのメソッドから移行することはお勧めしません。使用状況を明確にするために、vite の設定でこれらを設定してください。

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

動機

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

Vite v6 では、任意の数のカスタム環境(clientssredge など)を作成できるようになりました。単一の ssr ブール値では不十分になりました。API を server.transformRequest(url, { environment }) という形式に変更する代わりに、これらのメソッドを環境インスタンスに移動し、Vite 開発サーバーなしで呼び出せるようにしました。

移行ガイド

  • server.moduleGraph -> environment.moduleGraph
  • server.transformRequest(url, ssr) -> environment.transformRequest(url)
  • server.warmupRequest(url, ssr) -> environment.warmupRequest(url)

Released under the MIT License. (a3c659be)