Open1
Web開発の設定ファイル理解

フロントエンド設定ファイルの役割解説
server.js
、vite.config.ts
、tsconfig.json
、tsconfig.node.json
は、ReactとViteで構成されたフロントエンドアプリケーションのビルド、開発、本番環境での実行に関連する設定ファイルです。
server.js
これは、本番環境で動作するNode.jsサーバーのコードです。主な役割は以下の通りです。
-
静的ファイルの配信: ViteによってビルドされたHTML、CSS、JavaScriptファイル(
dist
ディレクトリに格納されます)をユーザーのブラウザに配信します。 -
APIプロキシ: フロントエンドからバックエンドAPIへのリクエスト(
/api
で始まるパス)を中継します。これにより、フロントエンドとバックエンドが異なるサーバーで動作している場合でも、CORS(Cross-Origin Resource Sharing)エラーを回避できます。 -
SPA対応: シングルページアプリケーション(SPA)として機能させるため、どのURLへのアクセスであっても
index.html
を返すように設定されています。これにより、React Routerなどのフロントエンド側のルーティングが正しく機能します。
vite.config.ts
これは、開発時に使用するビルドツールViteの設定ファイルです。
-
開発サーバーの設定:
npm run dev
などを実行した際に起動するローカル開発サーバーの挙動を定義します。-
port
: 開発サーバーが使用するポート番号(この場合は3000番)を指定します。 -
proxy
:server.js
と同様に、開発環境でAPIリクエストをバックエンドに転送するためのプロキシ設定です。 -
plugins
: ReactをViteで利用するためのプラグイン (@vitejs/plugin-react
) などを設定します。
-
-
ビルド設定:
npm run build
を実行した際の、本番用のファイル(HTML, CSS, JS)をどのように生成するかかの設定もここで行います。
tsconfig.json
これは、プロジェクト全体のTypeScriptコンパイラの設定ファイルです。
-
コンパイルルール: TypeScriptのコードをどのバージョンのJavaScriptに変換するか (
target
)、JSX構文をどう扱うか (jsx
) など、コンパイルに関する様々なルールを定義します。 -
対象ファイルの指定:
include
プロパティで、コンパイルの対象となるソースコードがsrc
ディレクトリ配下にあることを示しています。 -
プロジェクト参照:
references
でtsconfig.node.json
を参照しています。これは、アプリケーションのコードと、Viteの設定ファイルのようなNode.js環境で動くコードとで、別々のコンパイル設定を適用するためのものです。
tsconfig.node.json
これは、Node.js環境で実行される設定ファイル(vite.config.ts
など)専用のTypeScript設定ファイルです。
-
Node.js向け設定: ブラウザ環境向けの
tsconfig.json
とは異なり、vite.config.ts
のようなNode.js上で直接実行されるTypeScriptファイルを正しく解釈・コンパイルするための設定が記述されています。 -
対象ファイルの指定:
include
プロパティで、この設定がvite.config.ts
に適用されることを明示しています。
まとめ
ファイル名 | 主な役割 | 使われる環境 |
---|---|---|
server.js |
本番用のWebサーバー(静的ファイル配信、APIプロキシ) | 本番環境 |
vite.config.ts |
開発用サーバーの設定、ビルド設定 | 開発環境 |
tsconfig.json |
Reactアプリケーション本体のTypeScriptコンパイル設定 | 開発・ビルド時 |
tsconfig.node.json |
vite.config.ts のためのTypeScriptコンパイル設定 |
開発・ビルド時 |
簡単に言うと、開発中は vite.config.ts
の設定で開発サーバーが動き、本番環境ではViteでビルドされた成果物を server.js
が配信する、という構成になっています。そして、tsconfig.json
と tsconfig.node.json
は、それらのTypeScriptコードを正しく扱うための設定ファイルです。