我在我的package.json用于提供基于位置的脚本几个脚本(这是加拿大版)。
"dev-ca": "npm run development-ca",
"development-ca": "cross-env process.env.location=us NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
这工作好,但我必须跑
npm run dev-ca
我宁愿运行
npm run dev --ca
这可能吗?我仍然想运行我的标准NPM运行dev通过我的地方(英国)的网站。
为了传递参数给NPM脚本(而不是npm run
本身)的最终--
后通过他们,就像这样:
npm run dev -- --ca
然后粗液挑旗了您的构建将是:
// somewhere in your config file
const argv = process.argv.join('');
let location = 'uk'; // default to UK
for (const flag of ['ca', /* other locations... */]) {
if (argv.includes(`--${flag}`)) {
location = flag;
}
}
在这一个改进是使用一个标志分析器,例如minimist,特别是如果您传递多个标志。