Javascript 没有.env文件时如何使用dotEnv?
我有一个本地有Javascript 没有.env文件时如何使用dotEnv?,javascript,environment-variables,Javascript,Environment Variables,我有一个本地有.env文件的项目。在本地计算机上设置环境变量时,我使用: import dotEnv from "dotenv"; dotEnv.config(); 它找到.env并加载所有变量。当我将项目推送到Heroku时,我不会推送.env文件。我希望dotEnv能够理解这一点,但我得到了以下错误: { Error: ENOENT: no such file or directory, open '.env' 我怎样才能避免推送.env文件?使用.dotEnv的正确方法是什么?我不太喜
.env
文件的项目。在本地计算机上设置环境变量时,我使用:
import dotEnv from "dotenv";
dotEnv.config();
它找到.env
并加载所有变量。当我将项目推送到Heroku时,我不会推送.env
文件。我希望dotEnv
能够理解这一点,但我得到了以下错误:
{ Error: ENOENT: no such file or directory, open '.env'
我怎样才能避免推送
.env
文件?使用.dotEnv
的正确方法是什么?我不太喜欢这里提出的解决方案:它相当于有条件地需要/dotEnv,具体取决于设置的环境变量。这看起来很脆弱,对我来说是额外的工作
我发现的最简洁的解决方案根本不会因为对dotenv的任何引用而污染我的生产代码。只需将dotenv包含在您的开发依赖项中,并使用node require开关在本地运行您的应用程序:
$ node -r dotenv/config ./lib/index.js
这与加载babel寄存器的方式相同
现在,您的代码不关心env变量来自何处。也与nodemon等合作。您甚至可以指定备用环境文件:
$ node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/your/env/vars
这都在包的npm页面上。我不太喜欢这里提出的解决方案:它相当于有条件地要求/dotenv,具体取决于所设置的环境变量。这看起来很脆弱,对我来说是额外的工作 我发现的最简洁的解决方案根本不会因为对dotenv的任何引用而污染我的生产代码。只需将dotenv包含在您的开发依赖项中,并使用node require开关在本地运行您的应用程序:
$ node -r dotenv/config ./lib/index.js
这与加载babel寄存器的方式相同
现在,您的代码不关心env变量来自何处。也与nodemon等合作。您甚至可以指定备用环境文件:
$ node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/your/env/vars
这些都在包的npm页面上。我是dotenv模块的贡献者。您可以安全地忽略此错误。它是为方便您返回的,以防出现不符合预期的情况 我是dotenv模块的参与者。您可以安全地忽略此错误。它是为方便您返回的,以防出现不符合预期的情况 为什么您希望dotenv在没有.env文件的情况下工作?如果希望加载配置变量,请同时推送.env文件。
dotenv
项目强烈建议不要推送.env
文件。我在这个帖子里找到了答案。为什么您希望dotenv在没有.env文件的情况下工作?如果希望加载配置变量,请同时推送.env文件。dotenv
项目强烈建议不要推送.env
文件。我在这个帖子里找到了答案。