Node.js 无法使用Commanderjs获取参数
我试图通过如下节点传递命令行参数:Node.js 无法使用Commanderjs获取参数,node.js,node-commander,Node.js,Node Commander,我试图通过如下节点传递命令行参数:npm start-s config.yml,其中npm start映射到我的package.json中的node app.js app.js如下: const program = require('commander'); console.log(process.argv); program .command('-s, --shell <value>', '.yml config file') .parse(process.ar
npm start-s config.yml
,其中npm start
映射到我的package.json
中的node app.js
app.js
如下:
const program = require('commander');
console.log(process.argv);
program
.command('-s, --shell <value>', '.yml config file')
.parse(process.argv);
console.log(program.shell);
const program=require('commander');
console.log(process.argv);
程序
.command('-s,--shell','.yml配置文件')
.parse(process.argv);
console.log(program.shell);
参数正在通过process.argv
,但当我记录program.shell
时,它返回时未定义。我做错了什么?运行以下命令:
$ node runme.js shell aceofspades
在以下文件中:
// FILE: runme.js
const program = require('commander');
program
.command('shell [value]', '.yml config file')
.action((cmd, opt) => {
console.log('cmd:', cmd); // shell
console.log('opt:', opt); // aceofspades
});
program.parse(process.argv);
提供命令的操作函数中的命令和参数。您使用的是
command
,就好像它是一个选项字段一样。可能库不支持以“-”开头的命令。看起来您还必须附加一个操作?