【发布时间】:2021-05-12 06:14:51
【问题描述】:
如何正确使用多个 .env 配置文件进行开发/阶段/生产。我意识到我需要一个 .env 文件,使用 dotenv(至少),但是当我开始托管我的应用程序(React)时,我使用 localhost:5000 url,但我必须使用一些我使用的服务主机 url。
【问题讨论】:
标签: node.js reactjs next.js nestjs dotenv
如何正确使用多个 .env 配置文件进行开发/阶段/生产。我意识到我需要一个 .env 文件,使用 dotenv(至少),但是当我开始托管我的应用程序(React)时,我使用 localhost:5000 url,但我必须使用一些我使用的服务主机 url。
【问题讨论】:
标签: node.js reactjs next.js nestjs dotenv
您的 .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 文件中存储任何秘密。
【讨论】: