我是否必须将 .env 文件添加到 React 项目的版本控制中?

Do I have to add .env file to versioning in react project?

我看过一些媒体博客和 Whosebug 的回答,我不应该将 .env 文件添加到版本控制中。

我很明白为什么需要这样做。

但是在处理 Reactjs 项目时呢?

Reactjs 用于前端,所有环境变量都是 public 即使它是为生产而捆绑的,任何人都可以使用网络浏览器阅读它。

我有 2 个 env 文件,.env.production 用于生产,.env.staging 用于暂存。环境变量值在构建时被放入捆绑版本。这些文件在所有其他团队成员中都是相同的。

实际上这些文件中根本没有秘密。

问题是:

我应该将这 2 个文件添加到版本控制中,还是必须手动将这些文件分发给其他团队成员?那为什么?

不,你不知道。 .env 文件应该以单独的方式放在服务器上。否则,任何可以访问您的源代码存储库的人都可以阅读甚至修改 .env 文件。

没有

首选方法是创建一个名为 .env.sample 的文件,这将包含所有具有随机值或没有值的键。克隆 repo 的任何开发人员都将了解 run/build 项目所需的 env_vars。

在团队内部,有一个秘密共享机制。有很多工具可以解决这个问题。

第一次克隆 repo 后,开发人员需要 运行 cp .env.sample .env 并从秘密管理器复制值。

确保将 .env 添加到 .gitignore,这样就不会有人不小心将包含秘密的 .env 推送到存储库。