node的env到底是什么?有什么用?

node的env是环境变量的意思?好多地方都看到了,但是有什么用呢?

为什么以前学php没有env这个概念呢?

阅读 9.8k
4 个回答

通过NODE_ENV可以来设置环境变量(默认值为development)。 在terminal里面运行下面的命令就会有开发环境的调试数据,例如日志、mongodb的数据操作等等。一般我们通过检查这个值来分别对开发环境和生产环境下做不同的处理。可以在命令行中通过下面的方式设置这个值:

linux & mac: export NODE_ENV=production
windows:set NODE_ENV=production
比方说如果代码中要对生产环境下做一些处理,可以这样写:

if (process.env.NODE_ENV === 'production') {
// just for production code
}

比如你们的代码有开发(development)环境,测试(test)环境和线上(production—)环境,你写代码的时候本地可能先在development上开发,然后要上到test环境,最后上线。如何控制不同环境之间的切换呢?这时候就要用到这个env了,根据终端的export NODE_ENV=test/NODE_ENV=development/NODE_ENV=production来拿到不同的环境变量参数,根据这个参数做不同的配置,然后打包就可以得到你希望的生产环境。

php也有getenv putenv

NODE_ENV是node.js的环境变量,属于node.js模块查找的一部分,如果不设置,安装全局模块后,node.js会报找不到错误

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题