Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Använda Commander-Modulen för CLI-Applikationer | Bygga Konsolapplikationer med Node.js
Backendutveckling med Node.js och Express.js

Använda Commander-Modulen för CLI-Applikationer

Svep för att visa menyn

Att utveckla ett kommandoradsgränssnitt (CLI) med en modul som Commander kan vara mer hanterbart. Även om Node.js erbjuder inbyggda mekanismer för att hantera kommandoradsargument kan dessa snabbt bli svåra att hantera när CLI:t växer. Här är Commander användbart, eftersom det erbjuder följande fördelar:

  • Förenklad CLI-utveckling: Commander förenklar skapandet av ett CLI genom att minska komplexiteten, vilket gör att vi kan fokusera på att definiera kommandon och deras funktioner;
  • Utförliga beskrivningar av kommandon och alternativ: Med Commander kan vi enkelt tillhandahålla beskrivningar för kommandon och alternativ, vilket ökar användarvänligheten för CLI:t;
  • Automatisk argumenttolkning: Commander automatiserar processen för att tolka kommandoradsargument, vilket minimerar mängden kod vi behöver skriva för manuell argumenthantering.

Installera Commander-modulen

För att börja behöver vi installera Commander-modulen från NPM. Men oroa dig inte, processen är enkel. Innan vi kan börja använda Commander-modulen måste vi lägga till den i vårt projekt. Kör bara följande kommando för att installera den:

npm install commander

Skapa kommandon och alternativ

Med Commander kan vi definiera kommandon, specificera deras beteende och även tillhandahålla beskrivningar. Dessutom kan vi förklara alternativ som modifierar kommandonas beteende. Här är en förhandsvisning av vad vi kan åstadkomma med Commander:

Definiera ett kommando

För att definiera ett kommando, använd metoden .command() på programobjektet. Här är den grundläggande strukturen:

program.command('commandName [arguments]')
  • commandName: Namnet på kommandot;
  • [arguments] : Valfria argument som kommandot accepterar.

Lägga till kommandobeskrivningar

En beskrivning för kommandot kan anges med metoden .description():

program.command('commandName [arguments]').description('Description of the command');

Hantera kommandons åtgärder

Ange åtgärden som ska utföras när kommandot körs med metoden .action(). Här definieras logiken som är kopplad till kommandot:

program.command('commandName [arguments]').action((...arguments) => {
  // Command logic goes here
});

Här är ett komplett exempel:

program
  .command('greet <name>')
  .description('Greet a person')
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

Här är kodexemplet från videon:

const { program } = require("commander");

program
  .version("1.0.0")
  .command("greet <name>")
  .description("Greet a person")
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

program.parse(process.argv);
Kodbeskrivning
expand arrow
  • Rad 1: importerar program-objektet från commander-biblioteket. Detta objekt används för att definiera och hantera kommandoradsgränssnittet;
  • Rad 3: anger applikationsversionen till 1.0.0. Denna version visas när användare kör applikationen med flaggan --version;
  • Rad 4: definierar ett greet-kommando som accepterar ett obligatoriskt <name>-argument;
  • Rad 5: lägger till en beskrivning för greet-kommandot för att förklara dess syfte;
  • Rad 6: definierar åtgärden som körs när greet-kommandot anropas:
(name) => {
  console.log(`Hello, ${name}!`);
}

Funktionen tar emot argumentet name och skriver ut ett hälsningsmeddelande med hjälp av en mallsträng;

  • Rad 9: tolkar kommandoradsargumenten med process.argv och kör motsvarande kommando.

Sammanfattning

Denna kod skapar en enkel CLI-applikation med hjälp av commander-biblioteket. Den definierar ett greet-kommando, tar emot ett namn som indata, utför en hälsningsåtgärd och behandlar kommandoradsargument för att köra rätt kommando.

Prova själv

Lärande upplevs bäst genom praktisk övning. Prova att köra denna kod på din dator och se magin hända. Interagera med skriptet och upplev glädjen i att skapa unika hälsningsmeddelanden med hjälp av Commander!

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 6

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Använda Commander-Modulen för CLI-Applikationer

Att utveckla ett kommandoradsgränssnitt (CLI) med en modul som Commander kan vara mer hanterbart. Även om Node.js erbjuder inbyggda mekanismer för att hantera kommandoradsargument kan dessa snabbt bli svåra att hantera när CLI:t växer. Här är Commander användbart, eftersom det erbjuder följande fördelar:

  • Förenklad CLI-utveckling: Commander förenklar skapandet av ett CLI genom att minska komplexiteten, vilket gör att vi kan fokusera på att definiera kommandon och deras funktioner;
  • Utförliga beskrivningar av kommandon och alternativ: Med Commander kan vi enkelt tillhandahålla beskrivningar för kommandon och alternativ, vilket ökar användarvänligheten för CLI:t;
  • Automatisk argumenttolkning: Commander automatiserar processen för att tolka kommandoradsargument, vilket minimerar mängden kod vi behöver skriva för manuell argumenthantering.

Installera Commander-modulen

För att börja behöver vi installera Commander-modulen från NPM. Men oroa dig inte, processen är enkel. Innan vi kan börja använda Commander-modulen måste vi lägga till den i vårt projekt. Kör bara följande kommando för att installera den:

npm install commander

Skapa kommandon och alternativ

Med Commander kan vi definiera kommandon, specificera deras beteende och även tillhandahålla beskrivningar. Dessutom kan vi förklara alternativ som modifierar kommandonas beteende. Här är en förhandsvisning av vad vi kan åstadkomma med Commander:

Definiera ett kommando

För att definiera ett kommando, använd metoden .command() på programobjektet. Här är den grundläggande strukturen:

program.command('commandName [arguments]')
  • commandName: Namnet på kommandot;
  • [arguments] : Valfria argument som kommandot accepterar.

Lägga till kommandobeskrivningar

En beskrivning för kommandot kan anges med metoden .description():

program.command('commandName [arguments]').description('Description of the command');

Hantera kommandons åtgärder

Ange åtgärden som ska utföras när kommandot körs med metoden .action(). Här definieras logiken som är kopplad till kommandot:

program.command('commandName [arguments]').action((...arguments) => {
  // Command logic goes here
});

Här är ett komplett exempel:

program
  .command('greet <name>')
  .description('Greet a person')
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

Här är kodexemplet från videon:

const { program } = require("commander");

program
  .version("1.0.0")
  .command("greet <name>")
  .description("Greet a person")
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

program.parse(process.argv);
Kodbeskrivning
expand arrow
  • Rad 1: importerar program-objektet från commander-biblioteket. Detta objekt används för att definiera och hantera kommandoradsgränssnittet;
  • Rad 3: anger applikationsversionen till 1.0.0. Denna version visas när användare kör applikationen med flaggan --version;
  • Rad 4: definierar ett greet-kommando som accepterar ett obligatoriskt <name>-argument;
  • Rad 5: lägger till en beskrivning för greet-kommandot för att förklara dess syfte;
  • Rad 6: definierar åtgärden som körs när greet-kommandot anropas:
(name) => {
  console.log(`Hello, ${name}!`);
}

Funktionen tar emot argumentet name och skriver ut ett hälsningsmeddelande med hjälp av en mallsträng;

  • Rad 9: tolkar kommandoradsargumenten med process.argv och kör motsvarande kommando.

Sammanfattning

Denna kod skapar en enkel CLI-applikation med hjälp av commander-biblioteket. Den definierar ett greet-kommando, tar emot ett namn som indata, utför en hälsningsåtgärd och behandlar kommandoradsargument för att köra rätt kommando.

Prova själv

Lärande upplevs bäst genom praktisk övning. Prova att köra denna kod på din dator och se magin hända. Interagera med skriptet och upplev glädjen i att skapa unika hälsningsmeddelanden med hjälp av Commander!

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 6
some-alt