我正在学习NodeJS的教程。我不认为我错过了任何东西,但每当我调用process。env。NODE_ENV返回的唯一值是undefined。根据我的研究,默认值应该是development。该值如何动态设置,初始设置在哪里?


当前回答

你可以从npm中使用dotenv包,这里是链接:https://www.npmjs.com/package/dotenv

它允许您将所有配置放在.env文件中

其他回答

对我来说,问题是我正在使用pkg库将我的应用程序转换为可执行二进制文件。在这种情况下,公认的解决方案是行不通的。然而,使用下面的代码解决了我的问题:

const NODE_ENV = (<any>process).pkg ? 'production' : process.env.NODE_ENV;

我在GitHub上找到了这个解决方案。

我们在Windows上使用node时遇到了这个问题。

我们没有要求任何试图运行应用程序的人设置这些变量,而是在应用程序中提供了一个备用方案。

var environment = process.env.NODE_ENV || 'development';

在生产环境中,我们将根据通常的方法(SET/export)定义它。

在macOS中,对于使用快速版4.x的用户。使用DOTENV插件,需要像这样使用:

在初始化应用程序的文件中安装插件导入后,如下所示: 要求(“dotenv”)。配置({路径:path.resolve (__dirname + / .env)}); 在根目录中创建一个文件'。Env '并添加如下变量: NODE_ENV =发展 或 NODE_ENV = development

必须是app.js中的第一个要求

npm install dotenv

require("dotenv").config();

我也遇到过这个问题。 我把。env文件移动到根文件夹(不是项目文件夹,更高级别),它工作了。

检查它。这也可能对你有帮助