使用标志来运行不同的脚本的WebPack

问题描述 投票:1回答:1

我在我的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通过我的地方(英国)的网站。

webpack configuration localization package.json flags
1个回答
1
投票

为了传递参数给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,特别是如果您传递多个标志。

© www.soinside.com 2019 - 2024. All rights reserved.