2020-06-09
描述
检查运行当前进程的命令中是否包含指定的参数。
提示
- 使用
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