- Commander.js — это модуль NPM для разработки команд, подкоманд и параметров для запуска в системе. терминал.
- Вы можете найти модуль NPM commander.js по следующей ссылке:
- Вы можете найти модуль NPM commander.js по следующей ссылке: - https://www.npmjs.com/package/commander
- В этой демонстрации «мы научимся создавать команды и параметры с помощью Commander.js».
- Мы создадим команду devise и подкоманду info с параметрами 2 –machineName и –machineType. . На следующем снимке экрана показано использование команды разработки.
- Для разработки команды разработки мы создали проект с именем devise. На следующем снимке экрана показана структура проекта разработки.
- Модуль commander NPM можно установить с помощью команды npm install command –save. Следующий терминал показывает локальную установку модуля command:-
- Файл index.js содержит определение кода команды, подкоманды и параметров. Информация о подкоманде была определена с помощью метода action(). Параметры machineName и machineType определены с помощью option() метод. Мы использовали 2 метода getMachineName() и getMachineType(), которые возвращают имя используемой системы и тип ОС.
#!/usr/bin/env node //Node.js Command development using Commander var commander = require("commander"), process = require("process"), os = require("os"); //Returns name of the host machine var getMachineName = function(){ return os.hostname(); }; //Returns type of OS var getMachineType = function(){ return os.platform(); }; //Defining command devise info --machineName --machineType commander.command("info") .description('returns the details of the host machine.') .option("--machineName","return machine name") .option("--machineType","return machine type") .action(function(cmd){ var resultObject = {}; if(cmd.machineName){ resultObject.machineName = getMachineName(); } if(cmd.machineType){ resultObject.machineType = getMachineType(); } return resultObject; }); commander.parse(process.argv);
- package.json содержит специальное свойство bin, которое содержит пару ключ-значение . ключ представляет имя команды, а значение содержит точку входа для выполнения.
{ "name": "devise", "version": "1.0.6", "description": "Command line tool for host machine details", "bin": { "devise": "./index.js" }, "keywords": "command, cli", "repository": { "type": "git", "url": "https://github.com/saan1984/devise.git" }, "author": "Sandeep kumar patel <[email protected]>", "license": "ISC", "preferGlobal": true, "dependencies": { "commander": "^2.9.0" } }
- Теперь мы можем опубликовать этот модуль в реестре NPM (Node Package Manager) с помощью команды npm publish. На следующем снимке экрана показан терминал для публикации модуля NOM.
- Как только модуль devise будет успешно опубликован, мы сможем найти его в репозитории NPM. Следующий URL-адрес указывает на команду разработки, которую мы опубликовали на предыдущем шаге: — https://www.npmjs. com/package/device
- На следующем снимке экрана показан модуль devise в NPM реестре:
- Теперь мы можем установить наш недавно созданный модуль devise как другой модуль NPM. На следующем снимке экрана показана глобальная установка модуля devise с использованием npm. установить команду разработки с флагом global в терминале
- Теперь мы можем запустить команду devise с подкомандами и параметрами. На следующем снимке экрана показан выход в терминале с выполняемой командой devise, которая регистрирует имя и тип машины:
- демонстрационный код можно найти по следующему URL:-https://github.com/saan1984/devise
Сообщение Разработка инструмента командной строки с использованием Node.js впервые появилось на Tutorial Savvy.
Первоначально опубликовано на Wordpress