Tag: 节点指挥官

Commander.js收集多个选项总是包含默认值

我使用commander.jsparsing命令行参数,我试图收集可以出现多次的可选参数,它总是返回我设置的选项加上默认的选项。 function collect (val, memo) { memo.push(val); return memo; } program .command('run <param>') .action(function run(param, options) { console.log(param); console.log(options.parent.config); }); program .option('-c, –config <path>', 'Config', collect, ["/path/to/default"]) .parse(process.argv); 当我调用这样的脚本index.js run some -c "/some/path" -c "/other/path"它打印[ '/path/to/default', '/some/path', '/other/path' ] ,它应该只打印['/some/path', '/other/path' ] 当我调用它没有-c参数它工作正常,打印与默认值的数组。 我怎样才能解决这个问题?

指挥官不使用默认值

我用这样的defaultArgs设置命令: import * as validations from './validation' import program from 'commander' import path from 'path' export default function initializeCommander (defaults) { program .version('0.0.1') .usage('redbubble-demo') .option('-u', '–url [url]', validations.isValidUrl, defaults.url) .option('-o', '–output-dir [path]', validations.hasValidParentDirectory, path.resolve(defaults.path)) .option('-s', '–size [size]', validations.isValidSize, defaults.size) .parse(process.argv) return program } 我有这里设置的默认值,并将它们传递给像这样的函数: const defaultValues = { url: 'someuRL', size: 'medium', outputDir: './www' } […]

在打字稿中使用指挥官

我尝试在打字稿中使用指挥官,我想给我的气候适当的types。 所以我从这个代码开始: import * as program from "commander"; const cli = program .version("1.0.0") .usage("[options]") .option("-d, –debug", "activate more debug messages. Can be set by env var DEBUG.", false) .parse(process.argv); console.log(cli.debug) 但是我得到这个错误: example.ts(9,17): error TS2339: Property 'debug' does not exist on type 'Command'. 所以我试着添加一个接口,如下所述: import * as program from "commander"; interface InterfaceCLI extends commander.Command { debug?: […]

节点js指挥官参数返回true,而不是值

我想创build一个脚本与节点和节点指挥官,当我试图抓住我的参数的价值观,我得到的价值,而不是价值本身。 例如,如果我在terminal写这个: node myfile.js -s somefile -d test var program = require('commander'); program .version('0.0.1') .option('-s, –src', 'src csv file') .option('-d, –destination', 'destination csv file') .parse(process.argv); console.log(program.src); // return true console.log(program.destination); // return true 我如何得到这个参数的价值?