javascript - 使用命令的数组

标签 javascript arrays node.js command-line-interface

大家好!

我需要有关 commander 的帮助node.js 库。我需要创建这个接受 3 个标志的 CLI,--input、--output 和--pattern,比如:

commander
  .version('3.0.0')
  .usage('[options] <file ...>')
  .option('-i, --input', 'Array of files to be extracted')
  .option('-o, --output', 'Output file name')
  .option('-p, --pattern', 'Pattern name to be used in the extraction')
  .parse(process.argv);

我的问题是输入标志。我需要发送多个文件,为此我需要一个数组数据类型。

问题是:我就是想不通怎么做:

node ./bin/extract -i ../files/*.PDF

成为一个数组,其中包含我的文件目录中的所有文件。我已经尝试运行文档中的每个示例,但没有找到解决问题的方法。另外,我搜索了这些问题,也没有找到...奇怪的是,也许我做错了什么,你们可以帮忙吗??

谢谢!

最佳答案

您可以使用 Coercion实现它:

function scanDir(val) {
    files = fs.readdirSync(val);
    return files;
}

program
    .version('0.0.1')
    .option('-s, --scan [value]', '', scanDir)
    .parse(process.argv);

console.log(' scan: %j', program.scan);

然后这样调用它:

node app.js -s /foo

关于javascript - 使用命令的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35134577/

相关文章:

arrays - 将列数组转换为行对象数组

node.js - 如何修改管道以返回自定义响应?

javascript - 为什么我的计算属性在 Object.assign 之后无效?

javascript - v 可以通过 css 或 javascript 或任何其他方法更改 html 组合框的外观

javascript - 抓取亚马逊品牌页面

javascript - 滚动页面时如何禁用 Canvas 元素劫持鼠标滚轮?

c++ - 将 valarray 转换为基本数组

c - 使用 C 中的函数和指针将 n 个数组合并为一个

node.js - 如何将 socket.io 与 webpack-hot-middleware 一起使用?

javascript - node.js http 在浏览器中打开静态文本文件