猿问

如何在package.json中设置环境变量

如何从内部设置一些环境变量package.json来使用npm start类似的命令?


这是我目前拥有的package.json:


{

  ...

  "scripts": {

    "help": "tagove help",

    "start": "tagove start"

  }

  ...

}

我想NODE_ENV在启动脚本中设置环境变量(例如),同时仍然只能使用一个命令启动应用程序npm start。


哔哔one
浏览 2911回答 3
3回答

噜噜哒

在脚本命令中设置环境变量:..."scripts": {  "start": "node app.js",  "test": "NODE_ENV=test mocha --reporter spec"},...然后process.env.NODE_ENV在您的应用中使用。注意:这仅适用于Mac和Linux。对于Windows,请参阅注释。

呼如林

只需使用NPM包交叉环境。超级容易。适用于Windows,Linux和所有环境。请注意,您不使用&&移动到下一个任务。您只需设置env然后开始下一个任务。感谢@mikekidder在建议的意见,一个在这里。来自文档:{  "scripts": {    "build": "cross-env NODE_ENV=production OTHERFLAG=myValue webpack --config build/webpack.config.js"  }}请注意,如果要设置多个全局变量,只需连续声明它们,然后执行命令即可。最终,执行的命令(使用spawn)是:webpack --config build/webpack.config.js该NODE_ENV环境变量将通过交ENV被设置

呼唤远方

我只想在这里为未来的Node-explorers添加两分钱。在我的Ubuntu 14.04上NODE_ENV=test没有用,我不得不使用export NODE_ENV=test之后NODE_ENV=test开始工作,很奇怪。在Windows上已经说过你必须使用set NODE_ENV=test但是对于跨平台的解决方案,交叉env库似乎没有做到这一点,你真的需要一个库来做到这一点:export NODE_ENV=test || set NODE_ENV=test&& yadda yadda需要垂直条,否则Windows将在无法识别的export NODE_ENV命令上崩溃:D。关于尾随空间的Dunno,但也确定我也删除了它们。
随时随地看视频慕课网APP

相关分类

Node.js
我要回答