node设置环境变量方法

当使用NODE_ENV =production, 来设置环境变量时,大多数Windows命令提示将会阻塞(报错)。 (异常是Windows上的Bash,它使用本机Bash。)同样,Windows和POSIX命令如何使用环境变量也有区别。 使用POSIX,您可以使用:$ ENV_VAR和使用%ENV_VAR%的Windows。
说人话:windows不支持NODE_ENV=development的设置方式。

解决

cross-env使得您可以使用单个命令,而不必担心为平台正确设置或使用环境变量。 只要在POSIX系统上运行就可以设置好,而cross-env将会正确地设置它。
说人话: 这个迷你的包(cross-env)能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。

安装

 

npm install --save-dev cross-env

使用

 

{
  "scripts": {
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }
}

NODE_ENV环境变量将由cross-env设置

打印process.env.NODE_ENV === 'production '

 

有三种方法可以在package.json设置环境变量

  • npm install --save-dev cross-env

 

{
  "scripts": {
    "start1": "export WEBPACK_ENV=production && npx webpack -p",  ## mac
    "start2": "set WEBPACK_ENV=production && npx webpack -p", ## windows
    "start3": "cross-env CURRENT_ENV=development webpack-dev-server --inline --progress", ## 兼容所有平台
  }
}
  • 设置环境变量有什么用

在项目的js脚本中,通过process.env这个对象就可以访问到设置的环境变量
结合打包软件webpack等等,实现不同的代码逻辑

 

console.log(process.env.env1)
console.log(process.env.env2)

 


版权声明:本文为jingtian678原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。