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

时间:2019-02-06 13:47:22

标签: webpack configuration localization package.json flags

我的package.json中有一些脚本,用于基于位置的脚本(这是加拿大版本)。

npm run dev-ca

这可以,但是我必须运行

npm run dev --ca

我宁愿奔跑

{{1}}

这可能吗?我仍然想为我的本地(英国)网站运行标准的npm run开发人员。

1 个答案:

答案 0 :(得分: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,尤其是当您传递多个标志时。