如何以跨平台的方式设置环境变量?

时间:2015-09-07 22:22:11

标签: javascript node.js npm

对于Windows,我的Node脚本应如下所示:

"scripts": {
    "start-docs": "SET NODE_ENV=development&&babel-node ./docs/Server.js"
}

但是在Linux上没有SET,所以就像这样:

"scripts": {
    "start-docs": "NODE_ENV=development&&babel-node ./docs/Server.js"
}

有没有办法以一致且跨平台的方式声明环境变量?

2 个答案:

答案 0 :(得分:7)

我最近遇到了cross-env项目。这是非常简单的

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

无论操作系统如何,都会将build环境变量设置为production

答案 1 :(得分:2)

我会投票反对在package.json中设置它,因为环境变量应该根据你的环境设置,而package.json很可能对每个环境都相同(你将它提交给你的版本控制系统,对吗?)。相反,如果您正在寻找一个干净且通用的解决方案,那么您应该使用dotenv之类的东西。