我尝试通过如下节点传递命令行参数: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);
参数是通过process.argv
传递的,但是当我记录program.shell
时,它返回的是未定义的。我做错了什么?
发布于 2018-06-02 02:54:52
运行以下命令:
$ 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);
为我提供了命令以及该命令的action函数中的参数。
https://stackoverflow.com/questions/50649303
复制相似问题