为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哔哔one 2019-09-19 14:25:26
如何从内部设置一些环境变量package.json来使用npm start类似的命令?这是我目前拥有的package.json:{  ...  "scripts": {    "help": "tagove help",    "start": "tagove start"  }  ...}我想NODE_ENV在启动脚本中设置环境变量(例如),同时仍然只能使用一个命令启动应用程序npm start。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

在脚本命令中设置环境变量:


...

"scripts": {

  "start": "node app.js",

  "test": "NODE_ENV=test mocha --reporter spec"

},

...

然后process.env.NODE_ENV在您的应用中使用。


注意:这仅适用于Mac和Linux。对于Windows,请参阅注释。


查看完整回答
反对 回复 2019-09-19
?
呼如林

TA贡献1798条经验 获得超3个赞

只需使用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被设置


查看完整回答
反对 回复 2019-09-19
?
呼唤远方

TA贡献1856条经验 获得超11个赞

我只想在这里为未来的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,但也确定我也删除了它们。


查看完整回答
反对 回复 2019-09-19
  • 3 回答
  • 0 关注
  • 2900 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信