2017-09-14 167 views
0

想象我有可变如何设置NPM脚本(的package.json)

export NODE_ENV=production 

的环境中主机环境变量,当我做

echo $NODE_ENV //--> shows production which is correct 

问题:

里面我package.json

scripts: { 
... 
"build": "export REACT_APP_NODE_ENV=${NODE_ENV:-development}; 
      npm run build-css && react-scripts build", 
... 
} 

现在,当我做npm run build REACT_APP_NODE_ENV是越来越设置为开发...但它应该已经生产为NODE_ENV存在。

如果我做

scripts: { 
... 
"build": "export REACT_APP_NODE_ENV=production; 
    npm run build-css && react-scripts build", 
... 
} 

它工作正常预期,即所有的脚本与预期值是生产访问REACT_APP_NODE_ENV。

目标

我想避免在我的package.json

如何设置REACT_APP_NODE_ENV与价值${NODE_ENV}

"build": "export REACT_APP_NODE_ENV=${NODE_ENV}; 
    npm run build-css && react-scripts build", 

回答

1

硬编码你可能想确保,这是跨平台,这将在稍后为您节省一些麻烦。

这个问题已经解决了NPM包cross-var

然后,假设你已经远销NODE_ENV已经,你用这种方式:

"scripts": { 
    "build": "REACT_APP_NODE_ENV=${NODE_ENV}" 
} 
+0

对不起,我不是在寻找跨操作系统的解决方案。 我说这不行'“建”:“出口REACT_APP_NODE_ENV = $ {NODE_ENV}; NPM运行集结CSS &&反应的脚本打造”,'的NODE_ENV不会被设置为REACT_APP_NODE_ENV – Cyril