@@ -38,7 +38,7 @@ Viteを用いて構築されたフロントエンドと、Node.jsを用いて構
3838
39391 . ` backend ` ディレクトリに移動し、` npm init ` コマンドを実行して` package.json ` ファイルを作成します。` type ` と尋ねられた時には` module ` を指定します。
40401 . ` npm install -D typescript ` コマンドを実行してTypeScriptをインストールし、` npx tsc --init ` コマンドを実行してTypeScriptの設定を記述するための` tsconfig.json ` ファイルを作成します。
41- 1 . ここでは、事前にTypeScriptをJavaScriptにトランスパイルせずにTypeScriptファイルを実行するために、次のコマンドを実行して< Term > [ ` tsx ` パッケージ] ( https://tsx.is/ ) </ Term > をインストールします。` npx tsx 実行するファイルのパス ` とすることで、TypeScriptファイルを実行できます。
41+ 1 . ここでは、事前にTypeScriptをJavaScriptにトランスパイルせずにTypeScriptファイルを実行するために、次のコマンドを実行して[[[ ` tsx ` パッケージ] ( https://tsx.is/ )]] をインストールします。` npx tsx 実行するファイルのパス ` とすることで、TypeScriptファイルを実行できます。
4242
4343 ``` shell
4444 npm install -D tsx
@@ -113,20 +113,20 @@ Viteを用いて構築されたフロントエンドと、Node.jsを用いて構
113113
114114#### CORSに関する設定をする
115115
116- < Term > ** CORS** </ Term > に関する設定を行います。
116+ [[ ** CORS** ]] に関する設定を行います。
117117
118118:::tip[ CORS(Cross-Origin Resource Sharing)]
119119
120- ブラウザはセキュリティ上の理由から、異なる< Term > オリジン</ Term > のリソースへのアクセスを制限することがあります。なお、< Term > ** オリジン** </ Term > は、プロトコル、ドメイン、ポートの組み合わせによって定義されます。
120+ ブラウザはセキュリティ上の理由から、異なる[[ オリジン]] のリソースへのアクセスを制限することがあります。なお、[[ ** オリジン** ]] は、プロトコル、ドメイン、ポートの組み合わせによって定義されます。
121121
122122<p >
123123 <OriginExplanation />
124124</p >
125125
126- 例えば、フロントエンドの開発用サーバーの< Term > オリジン</ Term > が` http://localhost:5173 ` でバックエンドのWebサーバーの< Term > オリジン</ Term > が` http://localhost:3000 ` である場合には、これらは異なる< Term > オリジン</ Term > になります。そのため、Fetch APIを使用してフロントエンドのアプリケーションからバックエンドのアプリケーションのリソースへアクセスすることはブラウザによって制限されます。
126+ 例えば、フロントエンドの開発用サーバーの[[ オリジン]] が` http://localhost:5173 ` でバックエンドのWebサーバーの[[ オリジン]] が` http://localhost:3000 ` である場合には、これらは異なる[[ オリジン]] になります。そのため、Fetch APIを使用してフロントエンドのアプリケーションからバックエンドのアプリケーションのリソースへアクセスすることはブラウザによって制限されます。
127127
128128{ /* prettier-ignore */ }
129- < Term > ** CORS** </ Term > は、このような場合でも必要に応じてリソースへのアクセスを可能にする仕組みです。クライアントからのリクエストに対して、サーバーがHTTPレスポンスヘッダにリソースへのアクセスを許可する< Term > オリジン</ Term > を示す[ ` Access-Control-Allow-Origin ` ヘッダ] ( https://developer.mozilla.org/ja/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin ) を含めることで、ブラウザはそこで指定された< Term > オリジン</ Term > からリソースへアクセスすることを許可します。
129+ [[ ** CORS** ]] は、このような場合でも必要に応じてリソースへのアクセスを可能にする仕組みです。クライアントからのリクエストに対して、サーバーがHTTPレスポンスヘッダにリソースへのアクセスを許可する[[ オリジン]] を示す[ ` Access-Control-Allow-Origin ` ヘッダ] ( https://developer.mozilla.org/ja/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin ) を含めることで、ブラウザはそこで指定された[[ オリジン]] からリソースへアクセスすることを許可します。
130130
131131Expressを用いる場合には、[ ` cors ` パッケージ] ( https://www.npmjs.com/package/cors ) を使用することで、HTTPレスポンスヘッダに` Access-Control-Allow-Origin ` ヘッダなどを適切に設定することができます。
132132
@@ -139,8 +139,8 @@ Expressを用いる場合には、[`cors`パッケージ](https://www.npmjs.com/
139139 $ npm install cors
140140 $ npm install -D @types/cors
141141 ```
142- 1 . ` .env ` ファイルを編集し、< Term > 環境変数</ Term > ` WEB_ORIGIN ` の値にViteの開発用サーバーの< Term > オリジン</ Term > である` http://localhost:5173 ` を指定します。
143- 1 . ` main.ts ` ファイルを編集し、< Term > CORS</ Term > に関する設定を行います。14行目の` app.use(cors({ origin: process.env.WEB_ORIGIN })); ` により、< Term > 環境変数</ Term > ` WEB_ORIGIN ` に指定した< Term > オリジン</ Term > からアクセスできるようにします。
142+ 1 . ` .env ` ファイルを編集し、[[ 環境変数]] ` WEB_ORIGIN ` の値にViteの開発用サーバーの[[ オリジン]] である` http://localhost:5173 ` を指定します。
143+ 1 . ` main.ts ` ファイルを編集し、[[ CORS]] に関する設定を行います。14行目の` app.use(cors({ origin: process.env.WEB_ORIGIN })); ` により、[[ 環境変数]] ` WEB_ORIGIN ` に指定した[[ オリジン]] からアクセスできるようにします。
144144
145145 ``` ts title="backend/main.ts" showLineNumbers
146146 import express from " express" ;
@@ -177,7 +177,7 @@ Expressを用いる場合には、[`cors`パッケージ](https://www.npmjs.com/
177177
178178<video src = { addDevScriptVideo } controls />
179179
180- ` package.json ` の` scripts ` プロパティに開発によく使うコマンドを登録します。次のように記載して、` npm run dev ` コマンドを実行することでWebサーバーを起動できるようにしましょう。< Term > ` tsx ` パッケージ</ Term > では、[ Node.jsと同様のオプションが利用] ( https://tsx.is/node-enhancement#swap-node-for-tsx ) できます。
180+ ` package.json ` の` scripts ` プロパティに開発によく使うコマンドを登録します。次のように記載して、` npm run dev ` コマンドを実行することでWebサーバーを起動できるようにしましょう。[[ ` tsx ` パッケージ]] では、[ Node.jsと同様のオプションが利用] ( https://tsx.is/node-enhancement#swap-node-for-tsx ) できます。
181181
182182``` json title="backend/package.jsonの抜粋"
183183{
@@ -205,11 +205,11 @@ Expressを用いる場合には、[`cors`パッケージ](https://www.npmjs.com/
205205
206206#### バックエンドのURLを環境変数で指定する
207207
208- ` .env ` ファイルを作成し、< Term > 環境変数</ Term > ` VITE_API_ENDPOINT ` の値にバックエンドのURLである` http://localhost:3000 ` を指定します。
208+ ` .env ` ファイルを作成し、[[ 環境変数]] ` VITE_API_ENDPOINT ` の値にバックエンドのURLである` http://localhost:3000 ` を指定します。
209209
210210#### アプリケーションのコードを記述する
211211
212- ` App.tsx ` ファイルを編集し、次のように記述します。掲示板の投稿の取得や、新しい投稿の送信には、` fetch ` 関数を使用します。` fetch ` 関数の第1引数は今までは` /posts ` のように指定していましたが、ここでは` ${import.meta.env.VITE_API_ENDPOINT}/posts ` と指定します。` import.meta.env.VITE_API_ENDPOINT ` で< Term > 環境変数</ Term > ` VITE_API_ENDPOINT ` に指定されたバックエンドのURLを利用しています。
212+ ` App.tsx ` ファイルを編集し、次のように記述します。掲示板の投稿の取得や、新しい投稿の送信には、` fetch ` 関数を使用します。` fetch ` 関数の第1引数は今までは` /posts ` のように指定していましたが、ここでは` ${import.meta.env.VITE_API_ENDPOINT}/posts ` と指定します。` import.meta.env.VITE_API_ENDPOINT ` で[[ 環境変数]] ` VITE_API_ENDPOINT ` に指定されたバックエンドのURLを利用しています。
213213
214214``` tsx title="frontend/src/App.tsx"
215215import { useEffect , useState } from " react" ;
@@ -264,7 +264,7 @@ export default App;
264264
265265:::tip[ Viteでの環境変数の利用]
266266
267- Viteは、[ ` VITE_ ` で始まる< Term > 環境変数</ Term > を、アプリケーション内で` import.meta.env ` オブジェクトのプロパティとして利用] ( https://ja.vite.dev/guide/env-and-mode.html#env-variables ) できるようにします。例えば、` VITE_API_ENDPOINT ` という< Term > 環境変数</ Term > の値は、` import.meta.env.VITE_API_ENDPOINT ` と記述することで利用できます。
267+ Viteは、[ ` VITE_ ` で始まる[[ 環境変数]] を、アプリケーション内で` import.meta.env ` オブジェクトのプロパティとして利用] ( https://ja.vite.dev/guide/env-and-mode.html#env-variables ) できるようにします。例えば、` VITE_API_ENDPOINT ` という[[ 環境変数]] の値は、` import.meta.env.VITE_API_ENDPOINT ` と記述することで利用できます。
268268
269269なお、Viteは起動時に` .env ` ファイルに記述された環境変数を読み込みます。
270270
@@ -278,16 +278,16 @@ Viteは、[`VITE_`で始まる<Term>環境変数</Term>を、アプリケーシ
278278
279279今までの開発環境では、` npm run dev ` コマンドを実行することで、バックエンドとフロントエンドのサーバーを起動していました。
280280
281- しかし、本番環境では、これとは異なる方法を用います。バックエンドでは、< Term > ビルド</ Term > 済みのJavaScriptファイルを実行してWebサーバーを起動します。フロントエンドでは、Viteによる< Term > ビルド</ Term > 結果をRenderで配信します。
281+ しかし、本番環境では、これとは異なる方法を用います。バックエンドでは、[[ ビルド]] 済みのJavaScriptファイルを実行してWebサーバーを起動します。フロントエンドでは、Viteによる[[ ビルド]] 結果をRenderで配信します。
282282
283283| 環境 | バックエンド | フロントエンド |
284284| -------- | --------------------------------------------------------------------------- | ----------------------------------------------- |
285- | 開発環境 | < Term > ` tsx ` パッケージ</ Term > でTypeScriptファイルを実行してWebサーバーを起動 | Viteの開発用サーバーを起動 |
286- | 本番環境 | < Term > ビルド</ Term > 済みのJavaScriptファイルを実行してWebサーバーを起動 | Viteによる< Term > ビルド</ Term > 結果をRenderで配信 |
285+ | 開発環境 | [[ ` tsx ` パッケージ]] でTypeScriptファイルを実行してWebサーバーを起動 | Viteの開発用サーバーを起動 |
286+ | 本番環境 | [[ ビルド]] 済みのJavaScriptファイルを実行してWebサーバーを起動 | Viteによる[[ ビルド]] 結果をRenderで配信 |
287287
288288### ビルドの設定をする
289289
290- [ 「トランスパイラとモジュールバンドラ」の節] ( /docs/advanced/bundler/ ) で述べたように、フロントエンドの< Term > ビルド</ Term > のための設定は、` npm create vite@latest ` コマンドを実行することで自動的に生成される` package.json ` ファイルに含まれています。` npm run build ` コマンドを実行することで、< Term > ビルド</ Term > 結果が` dist ` ディレクトリに出力されます。本番環境では、この` dist ` ディレクトリをRenderで配信します。
290+ [ 「トランスパイラとモジュールバンドラ」の節] ( /docs/advanced/bundler/ ) で述べたように、フロントエンドの[[ ビルド]] のための設定は、` npm create vite@latest ` コマンドを実行することで自動的に生成される` package.json ` ファイルに含まれています。` npm run build ` コマンドを実行することで、[[ ビルド]] 結果が` dist ` ディレクトリに出力されます。本番環境では、この` dist ` ディレクトリをRenderで配信します。
291291
292292``` json title="frontend/package.jsonの抜粋"
293293{
@@ -297,12 +297,12 @@ Viteは、[`VITE_`で始まる<Term>環境変数</Term>を、アプリケーシ
297297}
298298```
299299
300- 次に、バックエンドの< Term > ビルド</ Term > のための設定を行いましょう。
300+ 次に、バックエンドの[[ ビルド]] のための設定を行いましょう。
301301
302302<video src = { setupBuildScriptsVideo } controls />
303303
304- 1 . ` tsconfig.json ` の[ ` outDir ` オプション] ( https://www.typescriptlang.org/tsconfig/#outDir ) の値を` "./dist" ` にして、< Term > トランスパイル</ Term > 結果が` dist ` ディレクトリに入るようにします。また、` .gitignore ` ファイルに` /dist ` を追加して、` dist ` ディレクトリがGitの管理下に入らないようにします。
305- 1 . ` package.json ` の` scripts ` プロパティに次のように記載して、` npm run build ` コマンドと` npm start ` コマンドが使えるようにしましょう。` npm run build ` コマンドで< Term > ビルド</ Term > 結果を` dist ` ディレクトリに出力し、` npm start ` コマンドで< Term > ビルド</ Term > 済みのJavaScriptファイルを実行できるようになります。
304+ 1 . ` tsconfig.json ` の[ ` outDir ` オプション] ( https://www.typescriptlang.org/tsconfig/#outDir ) の値を` "./dist" ` にして、[[ トランスパイル]] 結果が` dist ` ディレクトリに入るようにします。また、` .gitignore ` ファイルに` /dist ` を追加して、` dist ` ディレクトリがGitの管理下に入らないようにします。
305+ 1 . ` package.json ` の` scripts ` プロパティに次のように記載して、` npm run build ` コマンドと` npm start ` コマンドが使えるようにしましょう。` npm run build ` コマンドで[[ ビルド]] 結果を` dist ` ディレクトリに出力し、` npm start ` コマンドで[[ ビルド]] 済みのJavaScriptファイルを実行できるようになります。
306306
307307 ``` json title="backend/package.jsonの抜粋"
308308 {
@@ -316,35 +316,35 @@ Viteは、[`VITE_`で始まる<Term>環境変数</Term>を、アプリケーシ
316316
317317### Renderにデプロイする
318318
319- 次の手順に従って、作成したアプリケーションをRenderに< Term > デプロイ</ Term > しましょう。Renderに< Term > デプロイ</ Term > するには、作成したアプリケーションをGitHubのリポジトリに保存しておく必要があります。
319+ 次の手順に従って、作成したアプリケーションをRenderに[[ デプロイ]] しましょう。Renderに[[ デプロイ]] するには、作成したアプリケーションをGitHubのリポジトリに保存しておく必要があります。
320320
321321<video src = { deployVideo } controls />
322322
323- 1 . バックエンドを< Term > デプロイ</ Term > するため、Renderにログインした直後の画面から` Web Service ` を作成します。
323+ 1 . バックエンドを[[ デプロイ]] するため、Renderにログインした直後の画面から` Web Service ` を作成します。
324324
325325 ![ ] ( ./web-service.png )
326326
327- 1 . { /* */ } < Term > デプロイ</ Term > するアプリケーションのコードを含むGitHubのリポジトリを選択した後、次のように設定します。
327+ 1 . { /* */ } [[ デプロイ]] するアプリケーションのコードを含むGitHubのリポジトリを選択した後、次のように設定します。
328328
329329 ![ バックエンドの設定] ( ./backend-configuration.png )
330330
331- 1 . { /* */ } < Term > 環境変数</ Term > ` DATABASE_URL ` でデータベースへの接続情報を設定します。< Term > 環境変数</ Term > ` WEB_ORIGIN ` は、ひとまず空のままにしておきます。
331+ 1 . { /* */ } [[ 環境変数]] ` DATABASE_URL ` でデータベースへの接続情報を設定します。[[ 環境変数]] ` WEB_ORIGIN ` は、ひとまず空のままにしておきます。
332332
333333 ![ ] ( ./backend-environment-variable.png )
334334
335- 1 . フロントエンドを< Term > デプロイ</ Term > するため、` Static Site ` を作成します。
335+ 1 . フロントエンドを[[ デプロイ]] するため、` Static Site ` を作成します。
336336
337337 ![ ] ( ./static-site.png )
338338
3393391 . 次のように設定します。
340340
341341 ![ フロントエンドの設定] ( ./frontend-configuration.png )
342342
343- 1 . { /* */ } < Term > 環境変数</ Term > ` VITE_API_ENDPOINT ` に先ほど< Term > デプロイ</ Term > したバックエンドのURLを設定します。
343+ 1 . { /* */ } [[ 環境変数]] ` VITE_API_ENDPOINT ` に先ほど[[ デプロイ]] したバックエンドのURLを設定します。
344344
345345 ![ ] ( ./frontend-environment-variable.png )
346346
347- 1 . バックエンドの< Term > 環境変数</ Term > の設定を再度開き、< Term > 環境変数</ Term > ` WEB_ORIGIN ` に先ほど< Term > デプロイ</ Term > したフロントエンドの< Term > オリジン</ Term > を設定します。
347+ 1 . バックエンドの[[ 環境変数]] の設定を再度開き、[[ 環境変数]] ` WEB_ORIGIN ` に先ほど[[ デプロイ]] したフロントエンドの[[ オリジン]] を設定します。
348348
349349 ![ ] ( ./backend-environment-variable-updated.png )
350350
0 commit comments