Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bruk av Commander-modulen for CLI-apper | Bygge Konsollapplikasjoner med Node.js
Backend-Utvikling med Node.js og Express.js

Bruk av Commander-modulen for CLI-apper

Sveip for å vise menyen

Å utvikle et kommandolinjegrensesnitt (CLI) med et modul som Commander kan gjøre arbeidet mer håndterbart. Selv om Node.js tilbyr innebygde mekanismer for å håndtere kommandolinjeargumenter, kan disse raskt bli kompliserte å administrere etter hvert som CLI-en vokser. Her kommer Commander til nytte, da det gir følgende fordeler:

  • Effektiv CLI-utvikling: Commander forenkler opprettelsen av et CLI ved å redusere kompleksiteten, slik at vi kan fokusere på å definere kommandoer og deres funksjoner;
  • Detaljerte beskrivelser av kommandoer og alternativer: Med Commander kan vi enkelt legge til beskrivelser for kommandoer og alternativer, noe som gjør CLI-en mer brukervennlig;
  • Automatisk argumentparsing: Commander automatiserer prosessen med å tolke kommandolinjeargumenter, noe som reduserer mengden manuell kode vi må skrive for å håndtere argumenter.

Installere Commander-modulen

Først må vi installere Commander-modulen fra NPM. Ikke bekymre deg, prosessen er enkel. Før vi kan begynne å bruke Commander-modulen, må vi legge den til i prosjektet vårt. Kjør bare følgende kommando for å installere den:

npm install commander

Opprette kommandoer og alternativer

Med Commander kan vi definere kommandoer, spesifisere deres oppførsel og også legge til beskrivelser. I tillegg kan vi forklare alternativer som endrer oppførselen til kommandoene. Her er et glimt av hva vi kan oppnå med Commander:

Definere en kommando

For å definere en kommando, bruk .command()-metoden til programobjektet. Grunnstrukturen er slik:

program.command('commandName [arguments]')
  • commandName: Navnet på kommandoen;
  • [arguments] : Valgfrie argumenter som kommandoen aksepterer.

Legge til kommandobeskrivelser

Vi kan legge til en beskrivelse for kommandoen ved å bruke .description()-metoden:

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

Håndtere kommandohandlinger

Angi handlingen som skal utføres når kommandoen kjøres ved å bruke .action()-metoden. Her defineres logikken som er knyttet til kommandoen:

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

Her er et komplett eksempel:

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

Her er kodeeksempelet fra videoen:

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);
Kodebeskrivelse
expand arrow
  • Linje 1: importerer program-objektet fra commander-biblioteket. Dette objektet brukes til å definere og administrere kommandolinjegrensesnittet;
  • Linje 3: setter applikasjonsversjonen til 1.0.0. Denne versjonen vises når brukere kjører applikasjonen med flagget --version;
  • Linje 4: definerer en greet-kommando som aksepterer et påkrevd <name>-argument;
  • Linje 5: legger til en beskrivelse for greet-kommandoen for å forklare formålet;
  • Linje 6: definerer handlingen som utføres når greet-kommandoen kjøres:
(name) => {
  console.log(`Hello, ${name}!`);
}

Funksjonen mottar name-argumentet og skriver ut en hilsen ved hjelp av en template literal;

  • Linje 9: parser kommandolinjeargumentene ved å bruke process.argv og utfører den tilsvarende kommandoen.

Oppsummering

Denne koden lager en enkel CLI-applikasjon ved hjelp av commander-biblioteket. Den definerer en greet-kommando, aksepterer et navn som input, utfører en hilse-handling og behandler kommandolinjeargumenter for å kjøre riktig kommando.

Prøv selv

Læring oppleves best gjennom praktisk øvelse. Prøv å kjøre denne koden på din egen datamaskin og se hva som skjer. Interager med skriptet og opplev gleden ved å lage unike hilsningsmeldinger ved hjelp av Commander!

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 6
some-alt