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

And*_*ena 6 javascript node.js npm

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

"scripts": {
    "start-docs": "SET NODE_ENV=development&&babel-node ./docs/Server.js"
}
Run Code Online (Sandbox Code Playgroud)

但是在Linux上没有SET,所以它会是这样的:

"scripts": {
    "start-docs": "NODE_ENV=development&&babel-node ./docs/Server.js"
}
Run Code Online (Sandbox Code Playgroud)

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

And*_*ena 7

我最近遇到了跨环境项目.这很简单

{
  "scripts": {
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

  • cross-env 转为维护模式并且存储库已存档 (3认同)
  • @CallMeLaNN 是的,但不是因为它已被弃用,而是因为它的作者认为它功能完整。他致力于继续提供错​​误修复并继续支持新的 Node JS 版本。所以恕我直言,跨环境仍然是最好的解决方案。 (2认同)