我正在学习NodeJS的教程。我不认为我错过了任何东西,但每当我调用process。env。NODE_ENV返回的唯一值是undefined。根据我的研究,默认值应该是development。该值如何动态设置,初始设置在哪里?
当前回答
对于使用*nix (Linux, OS X等)的人来说,没有理由通过第二个导出命令来执行它,你可以将它作为调用命令的一部分:
NODE_ENV=development node server.js
更容易,不是吗?:)
其他回答
对于使用*nix (Linux, OS X等)的人来说,没有理由通过第二个导出命令来执行它,你可以将它作为调用命令的一部分:
NODE_ENV=development node server.js
更容易,不是吗?:)
你可以从npm中使用dotenv包,这里是链接:https://www.npmjs.com/package/dotenv
它允许您将所有配置放在.env文件中
的过程。Env是对环境的引用,所以你必须在那里设置变量。
使用实例设置Windows环境变量。
SET NODE_ENV=development
在macOS / OS X或Linux上:
export NODE_ENV=development
tips
在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"
or
console.log(process.env.NODE_ENV.trim() === 'dev') // true
如果您定义了任何名为process的函数,也可能会导致此问题。