node的环境变量

在很多前端项目中都需要配置node的环境变量,通常在package.json的scripts命令内容和webpack配置文件中可以看到NODE_ENV这个变量,值一般为production或者product,也有人简写为’dev’或’prod’。

1.NODE_ENV的作用
通常这个变量用来区分开发与生产环境,加载不同的配置。

2.配置
node中有全局变量process表示当前node进程,process.env包含着关于系统环境的信息。但是process.env中并不存在NODE_ENV这个东西,NODE_ENV只是一个用户自定义的变量,当我们在服务启动时配置NODE_ENV,或在代码中给process.env.NODE_ENV赋值,js便能通过process.env.NODE_ENV获取信息。

通常可以在package.json的scripts里设置

“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”,
“start”: “SET NODE_ENV=production node index.js”
},
一般也可以在webpack配置文件中对NODE_ENV作默认处理

NODE_ENV: process.env.NODE_ENV || ‘development’,
3.不同平台下的设置

在类unix系统和安装并使用了bash的windows的系统上:

“EXPORT NODE_ENV=production && webpack --config build/webpack.config.js”
在windows系统上:

“SET NODE_ENV=production && webpack --config build/webpack.config.js”
还可以引用第三方插件cross-env,兼容win和linux

“scripts”: {
“start”: “cross-env NODE_ENV=production node index.js”
}
需要注意的是使用cross-env中间不能有&&,&&这样会划分出前后两个环境,导致后一个语句的环境没有NODE_ENV

作者:8d2855a6c5d0
链接:https://www.jianshu.com/p/6de791d77357
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值