为什么process.env.NODE_ENV未定义?

2022-08-30 00:31:42

我正在尝试遵循NodeJS上的教程。我不认为我错过了任何东西,但每当我打电话时,我得到的唯一值是。根据我的研究,默认值应该是。如何动态设置此值,最初设置在哪里?process.env.NODE_ENVundefineddevelopment


答案 1

process.env是对环境的引用,因此您必须在此处设置变量。

Windows 中设置环境变量

SET NODE_ENV=development

在 macOS / OS X 或 Linux 上

export NODE_ENV=development

答案 2

技巧

在:package.json

"scripts": {
  "start": "set NODE_ENV=dev && node app.js"
 }

在:app.js

console.log(process.env.NODE_ENV) // dev
console.log(process.env.NODE_ENV === 'dev') // false
console.log(process.env.NODE_ENV.length) // 4 (including a space at the end) 

所以,这可能更好:

"start": "set NODE_ENV=dev&& node app.js"

console.log(process.env.NODE_ENV.trim() === 'dev') // true