Skip to content

Latest commit

 

History

History
89 lines (60 loc) · 2.51 KB

不再推荐使用的功能.md

File metadata and controls

89 lines (60 loc) · 2.51 KB

不再推荐使用的功能

本文中列出的功能不再推荐使用。它们在未来版本的Commander 中可能被移除。为保证后向兼容,这些功能目前还可以使用,但它们不应被用在新代码中。

Note: this document still describes Commander v7 and has not yet been updated for Commander v8.

.option() 方法的正则表达式参数

.option()方法可以接受一个正则表达式作为第三个参数,以规定可以接受的选项参数值。

program.option('-c,--coffee <type>', 'coffee', /short-white|long-black/);

该功能从 Commander v3 的文档中被移除。自 Commander v7 起,该功能不再推荐使用。

新的写法是使用 Option 对象的.choices()方法,或者使用自定义选项处理函数。

noHelp

此选项曾被用作传入.command()方法,以在内建的帮助信息中隐藏该命令:

program.command('example', 'examnple command', { noHelp: true });

在 Commander v5.1 中,该选项被更名为hidden。自 Commander v7 起noHelp不再推荐使用。

默认导入的全局 Command 对象

Commander 的默认导入曾是一个全局的 Command 对象。

const program = require('commander');

自 Commander v5 后,全局 Command 对象作为 program被导出。或者也可以导入 Command 对象。

const { program } = require('commander');
// 或者
const { Command } = require('commander');
comnst program = new Command()

此功能在 Commander v5 的文档中被移除。自 Commander v7 起不再推荐使用。

.help() 与 .outputHelp() 的回调函数参数

这两个方法曾允许传入一个回调函数,以在展示前处理帮助信息。

program.outputHelp((text) => {
  return colors.red(text);
});

新的写法是直接通过调用.helpInformation()来获取帮助文本。

console.error(colors.red(program.helpInformation()));

原功能自 Commander v7 起不再推荐使用。

.on('--help')

此功能曾被用作在内建的帮助信息后输出自定义的帮助信息。自 Commander v3.0.0 起,如果有自定义的帮助选项,则此方法使用该自定义的帮助选项。

program.on('--help', function() {
  console.log('')
  console.log('Examples:');
  console.log('  $ custom-help --help');
  console.log('  $ custom-help -h');
});

替代的方法是使用.addHelpText()

program.addHelpText('after', `
Examples:
  $ custom-help --help
  $ custom-help -h`
);

原功能自 Commander v7 起不再推荐使用。