无法将选项传递给 commander.js 中的命令

Cannot pass an option to a command in commander.js

我正在尝试将一个选项传递给我使用 commander.js...

创建的命令
program
 .command('init [options]')
 .description('scaffold the project')
 .option('-b, --build', 'add "build" folder with subfolders')
 .action(function(){
   if(program.build) {
    mkdirp("build/")
  }
 });

program.parse(process.argv);

...如果 -b 标志传递给 init,npm mkdirp 模块会创建一个 "build" 目录。遗憾的是,我无法让它工作...有什么想法吗?

在传递给 .action()

的函数内将 program.build 更改为 this.build
program
 .command('init [options]')
 .description('scaffold the project')
 .option('-b, --build', 'add "build" folder with subfolders')
 .action(function(){
   if(this.build) {
    mkdirp("build/")
  }
 });

program.parse(process.argv);