Usa queste librerie e utilità per creare programmi CLI moderni con tutti i campanelli e i fischietti di cui hai bisogno.
Un'interfaccia della riga di comando (CLI) è un modo per interagire con un programma per computer o un sistema operativo utilizzando comandi basati su testo. Uno strumento CLI è un programma di utilità che è possibile eseguire da una riga di comando. Gli strumenti CLI in genere accettano comandi basati su testo dall'utente ed eseguono attività specifiche in base ai comandi.
Gli strumenti CLI di alta qualità dovrebbero supportare un'ampia gamma di funzionalità. Possono analizzare gli argomenti della riga di comando e generare una guida all'utilizzo per fornire un feedback visivo, tra le altre funzionalità.
Esistono diversi pacchetti Node.js che possono aiutarti a creare rapidamente strumenti CLI, offrendo un'ampia gamma di funzionalità e flessibilità. Qui esplorerai alcuni dei migliori pacchetti Node.js per la creazione di strumenti CLI e scoprirai le loro funzionalità principali.
Commander è un pacchetto Node.js per la creazione di interfacce a riga di comando. Fornisce un'API per la definizione di comandi, opzioni e argomenti, semplificando la creazione di strumenti CLI.
Commander si occupa di analizzare gli argomenti in opzioni e argomenti della riga di comando. Inoltre, visualizza errori per problemi e opzioni non riconosciute e genera automaticamente la guida all'utilizzo (documentazione CLI).
Per installare Commander come dipendenza, esegui questo comando:
npm installare comandante
Ecco un esempio di come utilizzare Commander in un'app Node.js:
// indice.js
cost {Comando} = richiedere("comandante");// creazione di un'istanza di comando
cost programma = nuovo Comando();// strumento di creazione
programma
.nome("Utilità matematica")
.descrizione("Uno strumento CLI per eseguire semplici funzioni matematiche")
.versione("1.0.0");// comando di aggiunta
programma
.comando("aggiungere")
.descrizione("Aggiungi due numeri")
.discussione("" , "primo numero")
.discussione("" , "secondo numero")
.azione((a, b) => {
consolare.tronco d'albero(parseInt(a) + parseInt(B));
});
programma.analizzare();
L'esempio sopra è uno strumento CLI per eseguire semplici funzioni matematiche. Il blocco di codice sopra ha implementato la funzionalità "aggiungi" per lo strumento CLI utilizzando i metodi di commander.js.
Puoi utilizzare lo strumento CLI sopra eseguendo questo comando nel tuo terminale:
indice del nodo aggiungi 2 2
Puoi anche visualizzare la guida generata automaticamente per lo strumento CLI eseguendo questo comando:
nodo cli -h
Con il pacchetto Commander.js, puoi creare strumenti CLI completi e funzionali con documentazione pronta all'uso utilizzando semplici comandi.
Inquirer.js è un pacchetto Node.js per la creazione di interfacce utente interattive da riga di comando. Fornisce una serie di componenti dell'interfaccia utente, come prompt, elenchi e caselle di controllo, semplificando la creazione di strumenti CLI in grado di interagire con l'utente.
Per installare Inquirer come dipendenza, eseguire questo comando:
npm installare inquirente
Ecco un esempio di come utilizzare Inquirer.js:
// indice.js
importare inquirente da"interrogante";
inquirente
.richiesta([
{
tipo: "ingresso",
nome: "nome",
Messaggio: "Come ti chiami?",
},
])
.Poi((risposte) => {
consolare.tronco d'albero(`Ciao ${risposte.nome}`);
});
Questo esempio usa Inquirer.js per ricevere l'input dell'utente dal terminale e registra un messaggio che saluta l'utente.
Inquirer.js non supporta CommonJS sistema di moduli. È necessario utilizzare il sistema di moduli ES6 o eseguire il downgrade del pacchetto alla versione 8.0.0.
Inquirer.js offre molte opzioni di personalizzazione per i prompt, tra cui scelte, convalida e valori predefiniti, rendendolo ideale per la creazione di strumenti CLI interattivi in grado di interagire con l'utente.
Chalk è un pacchetto Node.js che fornisce un modo semplice per aggiungere colori all'output del terminale, semplificando la creazione di strumenti CLI leggibili e accattivanti.
Fornisce molta flessibilità nella definizione di colori e stili per il testo. Tuttavia, non è possibile utilizzare Chalk in modo isolato per creare strumenti CLI; devi usarlo con pacchetti come Commander e Inquirer.js.
Per installare Chalk come dipendenza, esegui questo comando:
npm installare gesso
Ecco un esempio di come utilizzare Chalk per aggiungere colori all'output della console:
importare gesso da"gesso";
consolare.log (gesso.blu("Ciao mondo!"));
consolare.tronco d'albero(gesso.rosso.grassetto("Avvertimento"));
consolare.tronco d'albero(gesso.bianco.corsivo("successo"));
consolare.tronco d'albero(
gesso.giallo.bgBlue("QuestotestohaUNgialloprimo pianoEblusfondo")
);
Chalk fornisce molti altri metodi per definire colori e stili, incluso sottolineare, barrato, varie sfumature di colori di sfondo e molti altri.
Chalk non supporta il sistema di moduli CommonJS. È necessario utilizzare il sistema di moduli ES6 o eseguire il downgrade del pacchetto alla versione 4.0.0.
Chalk è un ottimo pacchetto per rendere i tuoi strumenti CLI più visivamente accattivanti e leggibili. Inoltre, puoi integrarlo facilmente nel tuo codice esistente senza una configurazione complessa.
Node Spinner è un pacchetto Node.js che fornisce un modo semplice per visualizzare un'animazione di spinner nei tuoi strumenti CLI. È possibile utilizzare questo pacchetto per indicare che è in corso un processo a esecuzione prolungata e fornire un segnale visivo all'utente che lo strumento è ancora in funzione.
Per installare Node Spinner come dipendenza, esegui questo comando:
npm installare cli spinner
Ecco un esempio di come utilizzare Node Spinner per visualizzare un'animazione di spinner:
cost Filatore = richiedere("cli-spinner").filatore;
cost filatore = nuovo Filatore("in lavorazione... %S");
spinner.setSpinnerString("|/-\\\\");
filatore.inizio();setTimeout(() => {
spinner.text = "Attività completata.";
setTimeout(() => {
filatore.fermare();
}, 500);
}, 5000);
Questo codice utilizza la libreria per visualizzare uno spinner fino al termine di un processo. Il codice simula un'operazione che dura 5 secondi utilizzando setTimeout. Allo scadere del tempo, cambia il testo visualizzato da "elaborazione in corso..." a "Attività completata". e ferma lo spinner 0,5 secondi dopo.
Node Spinner offre una gamma di opzioni di personalizzazione, come la modifica degli stili e del testo dello spinner. Supporta anche più spinner, consentendoti di visualizzare diverse animazioni per diverse parti del tuo strumento CLI.
Figlet è un pacchetto Node.js che fornisce un modo semplice per creare arte ASCII dal testo.
Per installare figlet come dipendenza, eseguire questo comando:
npm installare fico
Ecco un esempio di come utilizzare figlet per generare arte ASCII:
cost fico = richiedere("fighetto");
fico("Ciao mondo!!", (err, dati) => {
se (errare) {
consolare.tronco d'albero("Scusa, qualcosa è andato storto");
consolare.dir (errare);
ritorno;
}
consolare.log (dati);
});
L'esempio sopra crea ASCII art con la stringa "Hello World!!" utilizzando Figlet e lo registra nella console.
L'esecuzione di questo esempio dovrebbe produrre il seguente output:
Figlet fornisce molti stili di carattere che puoi usare per personalizzare l'aspetto della tua arte ASCII. È possibile specificare uno stile di carattere passando un oggetto options al file fico funzione.
Per esempio:
fico("Ciao mondo!!", {carattere: "Campana" }, (err, data) => {})
L'uso di Figlet nel tuo strumento CLI aggiunge interesse visivo ai tuoi strumenti e li rende più coinvolgenti per i tuoi utenti.
Quando scegli i pacchetti per il tuo strumento CLI, devi considerare le tue esigenze e selezionare i pacchetti che forniscono la funzionalità, lo stile e la compatibilità che li soddisfano.
L'ecosistema Node.js fornisce vari pacchetti in grado di analizzare gli argomenti della riga di comando, creare un'interfaccia utente della riga di comando, visualizzare testo stilizzato e molto altro. Sfruttando il mix corretto ti consentirà di creare strumenti CLI altamente funzionali e intuitivi.