process.env.NODE_ENV在哪儿设置
发布于 8 年前 作者 MyNodeJs 97120 次浏览 来自 问答

看到别的地方判断process.env.NODE_ENV =development 这个process.env是什么?在哪儿设置的? 在window系统下是在命令行通过 SET NODE_ENV =development 可是用node的命令窗口输入process.env.NODE_ENV 是undefined 是什么原因?

8 回复

process.env 是读取系统环境变量的,比如你在启动服务的时候,设置环境变量为production或者development,那么在程序里面就可以通过process.env.ENVNAME获取,因为你在node命令窗口启动时没有设置相关的环境变量,所以就没办法获取到了,你可以试一下NODE_ENV=development node来启动命令窗口,然后应该就可以获取到了!

windows 不太清楚,*NIX 系统下规则如下: export NODE_ENV=production && node xxx.js 这样在当前命令行下后续的命令中读取 NODE_ENV,都会得到 production 值; 如果直接使用 NODE_ENV=production node xxx.js,则 NODE_ENV 的有效性仅限当前命令,不会对后续命令有影响。

@JiaxiangZheng 什么是当前命令,后续命令? 如果想取到,命令行窗口不能切换吧,只能在当前命令行窗口访问吧?

在代码里就可以设置啊

@eyblog 用控制台设置方便些

“dev-mac”: " export NODE_ENV=development&& nodemon --harmony --use_strict index.js -w ", “dev-win”: " set NODE_ENV=development&& nodemon --harmony --use_strict index.js -w ",

虽然问题已经过了很久了,但还是想帮助还需要帮助的人—https://segmentfault.com/a/1190000005811347

回到顶部