Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 1017 Bytes

hasFlags.md

File metadata and controls

34 lines (25 loc) · 1017 Bytes
标题 标签
hasFlags(检查当前进程是否包含指定的标识) node(node.js)

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

  • 使用 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

应用场景

在当前文件路径下打开终端,执行命令:

node hasFlags.js -s --test --cool=true