设置多个 .env 配置React/Next/Node

问题描述

如何正确使用多个 .env 配置文件进行开发/阶段/生产。我意识到我需要一个 .env 文件,使用 dotenv(至少),但是当我开始托管我的应用程序 (React) 时,我使用 localhost: 5000 url,但我必须使用我使用的一些服务主机 url。>

解决方法

您的 .env 文件未提交。

因此,在您的生产构建中,您将配置 .env 文件以包含您的生产详细信息。同样,.env 文件是私有的。

您的开发 .env 文件将包含您用于本地主机的详细信息。

您也可以设置一个名为 PROD_BASEURL 的变量,然后在您的代码中使用 IF 语句。

if(PROD_BASEURL) {
  do stuff
}

回答你的问题。不,您不会使用多个 .env 文件来分隔 PROD/UAT/DEV

,

为什么要使用多个 .env 文件?

一般建议是拥有一个唯一的 .env 文件。

我应该有多个 .env 文件吗?

没有。我们强烈建议不要使用“主”.env 文件和 “环境” .env 文件,如 .env.test

链接:https://github.com/motdotla/dotenv#should-i-commit-my-env-file

使用 dotenv 之类的包来管理您的环境变量。还有其他包可以做同样的事情。

您在另一台生产服务器上定义生产环境变量。一般建议是每个主机有一个 .env 文件。

如果您仍然需要,您可以使用以下 dotenv 配置:

require('dotenv').config({ path: '/custom/path/to/.env' })

切记不要在 React 应用程序的 .env 文件中存储任何机密。