コンテンツへスキップ

環境ごとの API への移行

フィードバック

環境APIフィードバックディスカッションでフィードバックをお寄せください

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

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

将来的な非推奨化

Environment インスタンスは v6.0 で初めて導入されました。server.moduleGraph および現在環境内に存在する他のメソッドの非推奨化は、将来のメジャーリリースで計画されています。まだサーバーメソッドから移行することはお勧めしません。使用状況を特定するには、これらを vite 設定で設定してください。

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

動機

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

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)

MIT ライセンスで公開。(083ff36d)