@@ -38,7 +38,48 @@ if (isRunnableDevEnvironment(server.environments.ssr)) {
3838```
3939
4040::: warning
41- ` runner ` は、初めてアクセスされたときに即座に評価されます。Vite は、` process.setSourceMapsEnabled ` を呼び出して ` runner ` が作成されたとき、またはそれが利用できない場合は ` Error.prepareStackTrace ` をオーバーライドすることによって、ソースマップのサポートを有効にすることに注意してください。
41+ ` runner ` は、初めてアクセスされたときにのみ遅延評価されます。Vite は、` process.setSourceMapsEnabled ` を呼び出して ` runner ` が作成されたとき、またはそれが利用できない場合は ` Error.prepareStackTrace ` をオーバーライドすることによって、ソースマップのサポートを有効にすることに注意してください。
42+ :::
43+
44+ ` Fetch API ` ([ Fetch API] ( https://developer.mozilla.org/en-US/docs/Web/API/Window/fetch ) )を介してランタイムと通信するフレームワークは、` handleRequest ` メソッドを通じてリクエストを標準化された方法で処理する ` FetchableDevEnvironment ` を利用できます:
45+
46+ ``` ts
47+ import {
48+ createServer ,
49+ createFetchableDevEnvironment ,
50+ isFetchableDevEnvironment ,
51+ } from ' vite'
52+
53+ const server = await createServer ({
54+ server: { middlewareMode: true },
55+ appType: ' custom' ,
56+ environments: {
57+ custom: {
58+ dev: {
59+ createEnvironment(name , config ) {
60+ return createFetchableDevEnvironment (name , config , {
61+ handleRequest(request : Request ): Promise <Response > | Response {
62+ // リクエストを処理し、レスポンスを返します
63+ },
64+ })
65+ },
66+ },
67+ },
68+ },
69+ })
70+
71+ // Environment API のどの利用者からも `dispatchFetch` を呼び出せるようになりました
72+ if (isFetchableDevEnvironment (server .environments .custom )) {
73+ const response: Response = await server .environments .custom .dispatchFetch (
74+ new Request (' /request-to-handle' ),
75+ )
76+ }
77+ ```
78+
79+ ::: warning
80+ Vite は、` dispatchFetch ` メソッドの入力と出力を検証します。リクエストはグローバル ` Request ` クラスのインスタンスである必要があり、レスポンスはグローバル ` Response ` クラスのインスタンスである必要があります。そうでない場合、Vite は ` TypeError ` をスローします。
81+
82+ ` FetchableDevEnvironment ` はクラスとして実装されていますが、Vite チームからは実装の詳細と見なされており、いつでも変更される可能性があることに注意してください。
4283:::
4384
4485## Default ` RunnableDevEnvironment `
@@ -52,6 +93,7 @@ import { fileURLToPath } from 'node:url'
5293import { createServer } from ' vite'
5394
5495const __dirname = path .dirname (fileURLToPath (import .meta.url))
96+
5597const server = await createServer ({
5698 server: { middlewareMode: true },
5799 appType: ' custom' ,
0 commit comments