hasFlags - 进程是否包含指定的 flags

优质
小牛编辑
125浏览
2023-12-01

检查当前进程的参数是否包含指定的标志。

使用 Array.every()Array.includes() 来检查 process.argv 是否包含所有指定的标志。 使用正则表达式来测试指定的标志是否以 --- 作为前缀并相应地添加前缀。

const hasFlags = (...flags) =>
  flags.every(flag => process.argv.includes(/^-{1,2}/.test(flag) ? flag : '--' + flag));
// node myScript.js -s --test --cool=true
hasFlags('-s'); // true
hasFlags('--test', 'cool=true', '-s'); // true
hasFlags('special'); // false