Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 没有.env文件时如何使用dotEnv?_Javascript_Environment Variables - Fatal编程技术网

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
文件。我在这个帖子里找到了答案。