Используя commander.js , чтобы создать CLI, и у меня есть такое утверждение:
cli.
command('serve').
alias('s').
description('Create a new project').
action((target) => {
console.log("TARGET IS: ", target) ....
Параметр target
регистрируется как значение независимо от того, предоставлено ли значение команде. Как мы можем проверить, является ли аргумент target
нулевым? Вот что записывается для значения target, когда в команду не передается значение:
TARGET IS: Command {
commands: [],
options: [],
_execs: {},
_allowUnknownOption: false,
_args: [],
_name: 'serve',
_noHelp: false,
parent:
Command {
commands:
[ [Command],
[Command],
[Command],
[Command],
[Command],
[Command],
[Circular],
[Command] ],
options: [ [Option] ],
_execs: {},
_allowUnknownOption: false,
_args: [],
_name: 'sfc',
Command: { [Function: Command] super_: [Function] },
Option: [Function: Option],
_version: '1.0.0',
_versionOptionName: 'version',
_events:
{ 'option:version': [Function],
'command:new': [Function: listener],
'command:n': [Function: listener],
'command:clean': [Function: listener],
'command:c': [Function: listener],
'command:build:main:css': [Function: listener],
'command:bmc': [Function: listener],
'command:build:test:css': [Function: listener],
'command:btc': [Function: listener],
'command:build': [Function: listener],
'command:b': [Function: listener],
'command:test:html': [Function: listener],
'command:t': [Function: listener],
'command:serve': [Function: listener],
'command:s': [Function: listener],
'command:dist': [Function: listener],
'command:d': [Function: listener] },
_eventsCount: 17,
_description: 'SuperflyCSS Command Line Interface',
_argsDescription: undefined,
rawArgs: [ '/usr/bin/node', '/home/ole/.npm-packages/bin/sfc', 'serve' ],
args: [ [Circular] ] },
_alias: 's',
_description: 'Serve project',
_argsDescription: undefined }