了解process.env.NODE_ENV
前端构建/或者node开发时经常会遇到这个变量,但这个变量到底什么来历,能有什么影响呢,之前并没有系统了解下,这里就整理mark下。
- NODE_ENV是个环境变量
- 安装NodeJS,或者Webpack并不会带来这个变量的设定,我们往往需要自己设定,在没有进行设定前,如果打印会发现是undefined
- 这个环境变量是Express带来的,当前算是个约定俗称的实践。
- NODE_ENV设定为development/production还是其它值有没有区别取决于所采用的工具是不是依赖该值,比如webpack中我们有时会根据NODE_ENV来选择性开启某些插件处理,比如哈希指纹生成等
项目中操作修改该值
如果是CI构建等,我们往往在docker容器级别就修改了该值。而本地,不同项目我们有时是需要灵活设定的,因此项目级控制比较好。
1 | cross-env NODE_ENV=production node testaaa.js |
环境变量
以前在搞java开发时,经常要配置Path,ClassPath,这些即系统环境变量。
查看Mac下的环境变量
1 | env |
写在最后
done