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


当前回答

在电子Js中

"scripts": {
    "start": "NODE_ENV=development electron index.js",
},

其他回答

这是由于操作系统

在你的包裹里。json,确保有你的脚本(app.js是你要执行的主js文件,NODE_ENV是在.env文件中声明的)。例如:

"scripts": {
    "start": "node app.js",
    "dev": "nodemon server.js",
    "prod": "NODE_ENV=production & nodemon app.js"
  }

对于windows

还要设置你的.env文件变量NODE_ENV=development

如果你的。env文件在一个文件夹,例如。Config文件夹确保在app.js(你的主js文件)中指定

Const dotenv = require('dotenv'); dotenv。Config ({path: './ Config / Config . path: ')env '});

如果你在React中遇到这个问题,你需要react-scripts@0.2.3和更高的版本。此外,对于NODE_ENV以外的其他环境变量,它们需要使用REACT_APP_作为前缀。

你可以使用cross-env npm包。它将负责调整环境变量,并确保它可以跨不同平台工作。

在项目根目录下运行:

npm install cross-env

然后在你的包裹里。Json,在脚本下,添加:

"start": "cross-env NODE_ENV=dev node your-app-name.js"

然后在你的终端,在项目根目录下,运行以下命令启动你的应用:

npm start

然后环境变量将作为process.env在你的应用程序中可用。NODE_ENV,所以你可以这样做:

if (process.env.NODE_ENV === 'dev') {
  // Your dev-only logic goes here
}

的过程。Env是对环境的引用,所以你必须在那里设置变量。

使用实例设置Windows环境变量。

SET NODE_ENV=development

在macOS / OS X或Linux上:

export NODE_ENV=development

在电子Js中

"scripts": {
    "start": "NODE_ENV=development electron index.js",
},