Brunch将NODE_ENV或环境variables暴露给javascript
我正在写一个npm脚本来执行早午餐构build。 我想传递一个环境variables,以便应用程序知道默认使用哪个URL(这组URL可以根据来自UI的用户请求而改变)。 这是我的npm脚本安装到目前为止(我在Windows上):
"scripts": { "build:localhost": "SET NODE_ENV=localhost && brunch build", "build:develop": "SET NODE_ENV=develop && brunch build", "build:production": "SET NODE_ENV=production && brunch build" }
如果我npm run build:localhost
和console.log(process.env.NODE_ENV);
在我的早午餐config.js,我得到localhost
,我所期望的。 但是相同的console.log(process.env.NODE_ENV);
在我正在编译的JavaScript文件之一返回development
。 这不是我所期望的 – 我希望它是localhost
。
如何将我设置的NODE_ENV
variables传递给我的JavaScript代码? 更一般地说,我怎么能提供一个variables,以我的早午餐的JavaScript代码? brunch
命令的--env
标志似乎只是在brunchconfiguration的overrides
块中使用了哪个设置。
UPDATE
我可以用jsenv-brunch来做到这一点,感谢@migore的这个build议 ,但是我想知道NODE_ENV是否应该像我描述的那样默认是这样的,为什么呢?