командний рядок-аргументи варто переглянути!
Ви можете встановити параметри, використовуючи основні стандарти нотацій ( детальніше ). Ці команди є рівнозначними, встановлюючи однакові значення:
$ example --verbose --timeout=1000 --src one.js --src two.js
$ example --verbose --timeout 1000 --src one.js two.js
$ example -vt 1000 --src one.js two.js
$ example -vt 1000 one.js two.js
Щоб отримати доступ до значень, спершу створіть список визначень опцій, що описують варіанти, які приймає ваша програма. type
Властивість є функція сетера (значення поставляється проходять через це), що дає вам повний контроль над отриманими значенням.
const optionDefinitions = [
{ name: 'verbose', alias: 'v', type: Boolean },
{ name: 'src', type: String, multiple: true, defaultOption: true },
{ name: 'timeout', alias: 't', type: Number }
]
Далі проаналізуйте параметри за допомогою commandLineArgs () :
const commandLineArgs = require('command-line-args')
const options = commandLineArgs(optionDefinitions)
options
тепер виглядає так:
{
src: [
'one.js',
'two.js'
],
verbose: true,
timeout: 1000
}
Розширене використання
Окрім описаного вище типового використання, ви можете налаштувати командні рядки-args для прийняття більш досконалих форм синтаксису.
Синтаксис на основі команд (стиль git) у вигляді:
$ executable <command> [options]
Наприклад.
$ git commit --squash -m "This is my commit message"
Синтаксис команд та підкоманд (стиль докера) у вигляді:
$ executable <command> [options] <sub-command> [options]
Наприклад.
$ docker run --detached --image centos bash -c yum install -y httpd
Генерація керівництва по використанню
Посібник із використання (зазвичай друкується, коли --help
встановлено) можна створити за допомогою використання командного рядка . Дивіться приклади нижче та прочитайте документацію щодо інструкцій щодо їх створення.
Типовий приклад посібника із використання.
Посібник із використання полімерних кліпів є хорошим прикладом реального життя.
Подальше читання
Дізнатися є багато іншого, будь ласка, перегляньте вікі для прикладів та документації.