我有一个使用Webpack的生成版本,它使用node的process.env来设置环境变量: webpack.prod.babel.js: const DefinePlugin = new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify('production'), API_URL: JSON.str
webpack.prod.babel.js:
const DefinePlugin = new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify('production'), API_URL: JSON.stringify('https://myprodurl.com'), }, });
packge.json:
"scripts: { "build:prod": "webpack" }
它工作正常,但我需要不同的东西.
我需要在NPM脚本中将生产URL设置为变量.
所以,而不是这个:
npm run build:prod
我需要这个:
npm run build:prod --URL https://myprodurl.com如何在命令行中定义环境变量,如:
URL = https://myprodurl.com npm run build:prod
我用一个简单的脚本测试了这个,并且能够打印出URL.
"scripts": { "test": "./myTest.js" },
myTest.js:
#!/usr/local/bin/node 'use strict' console.log(process.env.URL); console.log('Done!');
然后:
$URL=https://whatever.com npm run test > my-test@1.0.0 test /Test/my-test > ./myTest.js https://whatever.com Done!
编辑:正如@RyanZim所述,请参阅以下Windows:https://github.com/kentcdodds/cross-env(免责声明:我不使用Windows而且从未试过这个lib)