检查进程参数是否包含标志
检查当前进程的参数是否包含指定的标志。
- 使用
Array.prototype.every()
和Array.prototype.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