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:localhostconsole.log(process.env.NODE_ENV); 在我的早午餐config.js,我得到localhost ,我所期望的。 但是相同的console.log(process.env.NODE_ENV); 在我正在编译的JavaScript文件之一返回development 。 这不是我所期望的 – 我希望它是localhost

如何将我设置的NODE_ENVvariables传递给我的JavaScript代码? 更一般地说,我怎么能提供一个variables,以我的早午餐的JavaScript代码? brunch命令的--env标志似乎只是在brunchconfiguration的overrides块中使用了哪个设置。

UPDATE

我可以用jsenv-brunch来做到这一点,感谢@migore的这个build议 ,但是我想知道NODE_ENV是否应该像我描述的那样默认是这样的,为什么呢?