
vous devez d'abord vous assurer qu'il existe un environnement node.js sur l'ordinateur
et exécuter le code suivant sur la ligne de commande pour initialiser un fichier package.json
npm init -y
. exécuter mycli sur la ligne de commande.

Configurez la commande personnalisée
package.json pour ajouter le champ bin , et associez mycli .
"bin" : {
"mycli": "./test.js"
}, /test.jsconsole.log ("commande mycli exécutée avec succès"); install est requise, mais le projet n'a pas été publié sur npm, donc pour le moment, utilisez la commande npm link pour associez mycli au monde global.À ce stade, si vous exécutez mycli depuis la ligne de commande, l'erreur ne sera plus signalée.

Fichier test.js
de configuration du script
:console.log("exécution de la commande mycli réussie"); Ensuite, exécutez mycli et une fenêtre contextuelle d'erreur apparaîtra.

En effet, lors de l'exécution de la commande mycli , cela équivaut à laisser l'ordinateur exécuter le fichier et le système informatique ne peut pas exécuter directement le fichier js . Cela nous oblige à ajouter une configuration à la première ligne du code de script pour spécifier node.js sur le programme informatique pour exécuter ce fichier de script js.
#!/usr/bin/env node
L'environnement d'exécution ayant été modifié, vous devez supprimer les fichiers précédemment liés. L'emplacement mycli fichier peut être C:Program Filesnodejsnode_modules . npm link à nouveau.
Maintenant, exécutez à nouveau mycli sur la console et vous pourrez voir que la console s'imprime correctement.
Chalk pour générer des polices coloréesOra , similaire à lacommanderinquirer telle que : poser des questions...)de Chalk
npm install [email protected] -S
const craie = require("chalk");
// craie
// const bonjour = craie.red("bonjour");
// const bonjour = chalk.blue.bgRed("bonjour");
// const bonjour = chalk.blue.bgYellow("bonjour");
const bonjour = chalk.rgb(200, 200, 200).bgRgb(0, 200, 3)("bonjour");
console.log(bonjour); 
d'Ora
npm install [email protected] -S
const ora = require("ora");
// ora
const spinner = ora({
texte : "Installation..."
});
spinner.start();
setTimeout(() => {
// spinner.stop();
spinner.succeed("Installation réussie");
// console.log("Installation réussie");
}, 2000) start démarre le chargementstop arrête le chargementsucceed termine le chargement avec un style réussi
de Commander
, telles que vue -V git --version vue create et d'autres commandes, doivent utiliser la bibliothèque Commander pour implémenter ces commandes.
-V --help , etc. après que la commande utilisée peut être comprise comme les paramètres de la commande. Ensuite, nous devons obtenir ces paramètres et gérer différents événements en jugeant les différences de paramètres.
Dans l'environnement de nœud , ce paramètre peut être obtenu via process.argv . La bibliothèque Commander nous aide à encapsuler certaines méthodes sans que nous ayons à juger les instructions véhiculées par l'entrée de l'utilisateur.
npm install [email protected] -S
const commander = require("commander");
//...
commander.parse(process.argv); // Une fois l'installation terminée, commander nous fournira automatiquement certaines commandes, telles que --help . Testons-le ci-dessous :
mycli --help
de commander. . version("1.0.0"); Exécutez mycli -V et vous pouvez voir que la console imprime le numéro de version 1.0.0 .
La méthode de commande personnalisée
commander.option(指令名, 描述, 回调函数)
--init :commander.option("--init", "this is init", () => {
// craie
// const bonjour = craie.red("bonjour");
// const bonjour = chalk.blue.bgRed("bonjour");
// const bonjour = chalk.blue.bgYellow("bonjour");
const bonjour = chalk.rgb(200, 200, 200).bgRgb(0, 200, 3)("bonjour");
console.log(bonjour);
// ora
const spinner = ora({
texte : "Installation..."
});
spinner.start();
setTimeout(() => {
// spinner.stop();
spinner.succeed("Installation réussie");
// console.log("Installation réussie");
}, 1000)
}) Exécutez maintenant le test mycli --init :

est commander.option("--number <num>", "log a number", (num) => {
console.log(num);
}) <参数名> indique les paramètres qui doivent être transmis et [参数名] indique les paramètres qui ne doivent pas être transmis. Entrez mycli --number 100 sur la console et appuyez sur Entrée. Vous pouvez voir 100 sera affiché.
Méthode de commande personnalisée
commander.command("create <projectName>").action((projectName)=>{
console.log(nom du projet);
}) Exécutez mycli create xx et appuyez sur Entrée. Vous pouvez voir xx est affiché sur la console.
Consultez l'aide
en exécutant mycli --help . Vous pouvez voir que les instructions et commandes que nous venons de configurer apparaissent dans la liste d'aide.

du demandeur
npm install seeker -S
prompt pour demanderau demandeur.prompt([
{
tapez : "entrée",
nom : "nom d'utilisateur",
message : "Veuillez saisir votre nom d'utilisateur :"
}
]).then((réponse)=>{
}) type indique le type de question, et la valeur peut être : input , number , password , editor , etc.
answer est {username: 输入的值}
input de type d'entréeconst Inquirer = require("inquirer");
commander.command("ajouter un utilisateur").action(() => {
demandeur.prompt([
{
tapez : "entrée",
nom : "nom d'utilisateur",
message : "Veuillez saisir votre nom d'utilisateur :"
}
]).then((réponse) => {
console.log(réponse);
})
}) confirmcommander.command("testcon").action(() => {
demandeur.prompt([
{
tapez : "confirmer",
nom : "âge",
message : « Avez-vous plus de 18 ans ? »
}
]).then((réponse) => {
console.log(réponse);
})
}) Entrez y ou n pour porter un jugement.

list de types de sélection radiocommander.command("testlist").action(() => {
demandeur.prompt([
{
tapez : "liste",
nom : "lib",
message : "Sélectionnez le framework à utiliser :",
choix : [
"vue2",
"vue3",
"réagir",
"svelte",
]
}
]).then((réponse) => {
console.log(réponse);
})
}) Exécutez la commande mycli testlist :

download-git-repo est un outil pour extraire du code.
Installez
npm install [email protected] -S
const downgit = require("download-git-repo");
downgit("github:kongcodes/vue3-vant", downUrl, { clone: false }, function (err) {
console.log (erreur)
}) Le premier paramètre de la méthode downgit est censé télécharger le modèle de projet vue3-vant de l'utilisateur kongcodes depuis github. Le deuxième paramètre downUrl est le répertoire dans lequel le modèle doit être téléchargé. Le troisième paramètre clone est de savoir s'il faut utiliser git clone pour télécharger. Le quatrième paramètre concerne certaines choses à exécuter une fois le téléchargement terminé.
commandcommander.command("create <projectName>").action((projectName) => { en conjonction avec la méthode de commande
const spinner = ora({
texte : "Téléchargement https://github.com/kongcodes/vue3-vant..."
});
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"));
})
}) Exécutez mycli create pro et appuyez sur Entrée. Le répertoire pro sera créé dans le répertoire actuel et vue3-vant sera téléchargé dans ce répertoire.
https://github.com/kongcodes/mycli