私は React と Node を使用して最初のフルスタック アプリケーションを構築しています。プロジェクトには、クライアント フォルダー (React サブプロジェクト用) とサーバー フォルダー (Node サブプロジェクト用) を含むルート ディレクトリがあります。最近、React プロジェクトを create-react-app から Vite に移行しました。
フロントエンドとバックエンドの両方で、サーバー ポート、クライアント ポート、およびベース URL (現時点では localhost) をプロジェクト ルート全体の単一の .env ファイルから読み取れるようにして、これらの値のハードコーディングを回避したいと考えています。 。
Vite はクライアント ディレクトリの .env ファイルから読み取ることができ、Node はサーバー ディレクトリの .env ファイルから読み取ることができるため、クライアントとサーバーに 2 つの別個の .env ファイルを用意することは簡単に思えます。 < /p>
プロジェクトがルート ディレクトリにある .env ファイルを使用できるようにするにはどうすればよいですか? 2 つの .env ファイルではなく 1 つの .env ファイルを使用するのが良い/標準的な方法ですか?
厄介な解決策を見つけました。おそらく誰かがよりクリーンな解決策を提案してくれるでしょう。
envDir
属性を追加して、クライアント ディレクトリではなくルート ディレクトリから環境変数を読み取るように Vite/React を設定しました。
import.meta.env.VITE_SERVER_PORT