Checks if the current process’s arguments contain the specified flags.
- Use
Array.prototype.every()
andArray.prototype.includes()
to check ifprocess.argv
contains all the specified flags. - Use a regular expression to test if the specified flags are prefixed with
-
or--
and prefix them accordingly.
代码实现
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
翻译自:https://www.30secondsofcode.org/js/s/process-arguments-have-flags