我的package.json中有一些脚本,用于基于位置的脚本(这是加拿大版本)。
npm run dev-ca
这可以,但是我必须运行
npm run dev --ca
我宁愿奔跑
{{1}}
这可能吗?我仍然想为我的本地(英国)网站运行标准的npm run开发人员。
答案 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,尤其是当您传递多个标志时。