
müssen Sie zunächst sicherstellen, dass auf dem Computer eine node.js-Umgebung vorhanden ist
, und den folgenden Code in der Befehlszeile ausführen, um eine package.json Datei zu initialisieren
npm init -y
Zu diesem Zeitpunkt wird definitiv ein Fehler gemeldet Ausführen mycli auf der Befehlszeile.

Konfigurieren Sie den benutzerdefinierten Befehl
package.json um das bin Feld hinzuzufügen, und verknüpfen Sie mycli -Befehl.
„bin“: {
„mycli“: „./test.js“
}, /test.jsconsole.log („mycli-Befehl erfolgreich ausgeführt“);
install ist erforderlich, aber das Projekt wurde nicht in npm veröffentlicht. Verwenden Sie daher vorerst den Befehl npm link Ordnen Sie mycli der globalen Welt zu.Wenn Sie mycli zu diesem Zeitpunkt über die Befehlszeile ausführen, wird der Fehler nicht mehr gemeldet.

Skriptkonfiguration
test.js-Datei:
console.log("mycli-Befehlsausführung erfolgreich"); Führen Sie dann mycli aus und ein Fehler-Popup-Fenster wird angezeigt.

Dies liegt daran, dass die Ausführung des mycli -Befehls dem Ausführen der Datei durch den Computer entspricht und das Computersystem die js-Datei nicht direkt ausführen kann . Dies erfordert, dass wir der ersten Zeile des Skriptcodes eine Konfiguration hinzufügen, um node.js auf dem Computer, um diese js-Skriptdatei auszuführen.
#!/usr/bin/env node
Da die Ausführungsumgebung geändert wurde, müssen Sie die zuvor verknüpften Dateien löschen. Der Dateispeicherort lautet möglicherweise C:Program Filesnodejsnode_modules . Suchen Sie nach mycli , löschen Sie es und führen Sie es dann aus npm link noch einmal.
Führen Sie nun mycli erneut auf der Konsole aus und Sie können sehen, dass die Konsole korrekt druckt.
Chalk -Befehlszeile, um farbenfrohe Schriftarten auszugebenOra -Ladeeffekt, ähnlich der interaktiven Funktion Progress Librarycommander Design Commandinquirer (z. B. Fragen stellen ...)Chalk-
npm install [email protected] -S
const chalk = require("chalk");
// Kreide
// const hello = chalk.red("hello");
// const hello = chalk.blue.bgRed("hello");
// const hello = chalk.blue.bgYellow("hello");
const hello = chalk.rgb(200, 200, 200).bgRgb(0, 200, 3)("hello");
console.log(Hallo); 
Ora
npm install [email protected] -S
const ora = require("ora");
// ora
const spinner = ora({
Text: „Installieren...“
});
spinner.start();
setTimeout(() => {
// spinner.stop();
spinner.succeed("Installation erfolgreich");
// console.log("Installation erfolgreich");
}, 2000) start “ startet den Ladevorgang,stop stoppt den Ladevorgang“ undsucceed beendet den Ladevorgang“ im Erfolgsstil
Commander
-Entwicklung verwendet werden, wie z. B. vue -V git --version vue create und andere Befehle, müssen zur Implementierung solcher Befehle die Commander -Bibliothek verwenden.
-V --help usw., nachdem der Befehl verwendet wurde, können als Parameter des Befehls verstanden werden. Dann müssen wir diese Parameter erhalten und verschiedene Ereignisse behandeln, indem wir die Unterschiede in den Parametern beurteilen.
In der Knotenumgebung kann dieser Parameter über process.argv abgerufen werden. Die Commander -Bibliothek hilft uns, einige Methoden zu kapseln, ohne dass wir die Anweisungen der Benutzereingaben beurteilen müssen.
npm install [email protected] -S
const commander = require("commander");
// ...
commander.parse(process.argv); // Nach Abschluss der Installation stellt uns Commander automatisch einige Befehle zur Verfügung, z. B. --help . Testen wir es unten:
mycli --help
des Commandersfestzulegen
. version("1.0.0"); Führen Sie mycli -V aus und Sie können sehen, dass die Konsole die Versionsnummer 1.0.0 ausgibt.
Die benutzerdefinierte Befehlsmethode
commander.option(指令名, 描述, 回调函数)
--init :commander.option("--init", "this is init", () => {
// Kreide
// const hello = chalk.red("hello");
// const hello = chalk.blue.bgRed("hello");
// const hello = chalk.blue.bgYellow("hello");
const hello = chalk.rgb(200, 200, 200).bgRgb(0, 200, 3)("hello");
console.log(Hallo);
// ora
const spinner = ora({
Text: „Installieren...“
});
spinner.start();
setTimeout(() => {
// spinner.stop();
spinner.succeed("Installation erfolgreich");
// console.log("Installation erfolgreich");
}, 1000)
}) Führen Sie nun mycli --init test aus:

ist commander.option("--number <num>", "log a number", (num) => {
console.log(num);
}) <参数名> gibt die Parameter an, die übergeben werden müssen, und [参数名] gibt die Parameter an, die nicht übergeben werden müssen. Geben Sie mycli --number 100 in die Konsole ein und drücken Sie die Eingabetaste. Sie können sehen 100 ausgegeben wird.
Benutzerdefinierte Befehlsmethode
commander.command("create <projectName>").action((projectName)=>{
console.log(Projektname);
}) Führen Sie mycli create xx aus und drücken Sie die Eingabetaste. Sie können sehen xx auf der Konsole ausgegeben wird.
Sehen Sie sich die Hilfe an
, indem Sie mycli --help ausführen. Sie können sehen, dass die Anweisungen und Befehle, die wir gerade konfiguriert haben, in der Hilfeliste angezeigt werden.

„Inquirer“
npm install „inquirer -S“
prompt zum Fragen von„inquirer.prompt([
{
Typ: „Eingabe“,
Name: „Benutzername“,
Nachricht: „Bitte geben Sie den Benutzernamen ein:“
}
]).then((answer)=>{
}) type gibt den Typ der Frage an und der Wert kann sein: input , number , password , editor usw.
answer ist {username: 输入的值}
input des Eingabetyps.const discoverer = require("inquirer");
commander.command("Benutzer hinzufügen").action(() => {
discoverer.prompt([
{
Typ: „Eingabe“,
Name: „Benutzername“,
Nachricht: „Bitte geben Sie den Benutzernamen ein:“
}
]).then((Antwort) => {
console.log(answer);
})
}) confirmcommander.command("testcon").action(() => {
discoverer.prompt([
{
Typ: „Bestätigen“,
Name: „Alter“,
Nachricht: „Sind Sie über 18 Jahre alt?“
}
]).then((Antwort) => {
console.log(answer);
})
}) Geben Sie y oder n ein, um ein Urteil zu fällen.

listcommander.command("testlist").action(() => {
discoverer.prompt([
{
Typ: „Liste“,
Name: „lib“,
Nachricht: „Wählen Sie das zu verwendende Framework aus:“,
Auswahlmöglichkeiten: [
„vue2“,
„vue3“,
"reagieren",
„schlank“,
]
}
]).then((Antwort) => {
console.log(answer);
})
}) Führen Sie den Befehl mycli testlist aus:

download-git-repo ist ein Tool zum Abrufen von Code.
Installieren Sie
npm install [email protected] -S
const downgit = require("download-git-repo");
downgit("github:kongcodes/vue3-vant", downUrl, { clone: false }, function (err) {
console.log(fehler)
}) Der erste Parameter in der downgit -Methode ist das Herunterladen der vue3-vant -Projektvorlage des Kongcodes-Benutzers von Github. Der zweite Parameter downUrl ist das Verzeichnis, in das die Vorlage heruntergeladen werden soll. Der dritte clone ist, ob git clone zum Herunterladen verwendet werden soll. Der vierte Parameter enthält einige Dinge, die ausgeführt werden sollen, wenn der Download abgeschlossen ist.
commandcommander.command("create <projectName>").action((projectName) => { in Verbindung mit der Befehlsmethode
const spinner = ora({
text: „https://github.com/kongcodes/vue3-vant wird heruntergeladen …“
});
spinner.start();
fs.mkdirSync(`./${projectName}`);
const downUrl = `${process.cwd()}\${projectName}`;
downgit("github:kongcodes/vue3-vant", downUrl, { clone: false }, function (err) {
if (err) throw err;
spinner.stop();
console.log(chalk.green("downgit success"));
})
}) Führen Sie mycli create pro aus und drücken Sie die Eingabetaste. Das pro -Verzeichnis wird im aktuellen Verzeichnis erstellt und vue3-vant -Vorlage wird in dieses Verzeichnis heruntergeladen.
https://github.com/kongcodes/mycli