• 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, которая регистрирует имя и тип машины:

Сообщение Разработка инструмента командной строки с использованием Node.js впервые появилось на Tutorial Savvy.

Первоначально опубликовано на Wordpress