primero debe asegurarse de que haya un entorno node.js en la computadora
y ejecutar el siguiente código en la línea de comando para inicializar un archivo package.json
npm init -y
En este momento, definitivamente se informará un error cuando. ejecutando mycli
en la línea de comando.
Configure el comando personalizado
package.json
para agregar el campo bin
y asocie mycli
.
"bin": { "mycli": "./test.js" },
/test.js
npm link
install
"el comando mycli se ejecutó correctamente");
mycli
al mundo global.En este momento, si ejecuta mycli
desde la línea de comando, ya no se informará el error.
de configuración del script
:
console.log("Ejecución exitosa del comando mycli");
Luego ejecute mycli
y aparecerá una ventana emergente de error.
Esto se debe a que al ejecutar el comando mycli
, equivale a dejar que la computadora ejecute el archivo, y el sistema informático no puede ejecutar directamente el archivo js . Esto requiere que agreguemos una configuración a la primera línea del código del script para especificar node.js
en el programa de computadora para ejecutar este archivo de script js.
#!/usr/bin/env node
Debido a que se ha cambiado el entorno de ejecución, debe eliminar los archivos vinculados previamente. La ubicación del archivo puede ser C:Program Filesnodejsnode_modules
. Busque mycli
, elimínelo y luego ejecútelo. npm link
nuevamente.
Ahora ejecute mycli
en la consola nuevamente y podrá ver que la consola imprime correctamente.
Chalk
para generar fuentes coloridasOra
, similar a lacommander
inquirer
como: hacer preguntas...)de Chalk
npm install [email protected] -S
const tiza = require("tiza"); // tiza // const hola = tiza.red("hola"); // const hola = chalk.blue.bgRed("hola"); // const hola = chalk.blue.bgYellow("hola"); const hola = tiza.rgb(200, 200, 200).bgRgb(0, 200, 3)("hola"); console.log(hola);
de Ora
npm install [email protected] -S
const ora = require("ora"); // hora hilandero constante = ora({ texto: "Instalando..." }); hilandero.start(); setTimeout(() => { // hilandero.stop(); spinner.succeed("Instalación exitosa"); // console.log("Instalación exitosa"); }, 2000)
start
comienza a cargarstop
detiene la cargasucceed
finaliza la carga con estilo exitosode Commander
, como vue -V
git --version
vue create
y otros comandos, deben usar la biblioteca de Commander para implementar dichos comandos.
-V
--help
, etc. después del comando utilizado puede entenderse como los parámetros del comando. Luego, debemos obtener estos parámetros y manejar diferentes eventos juzgando las diferencias en los parámetros.
En el entorno del nodo , este parámetro se puede obtener a través de process.argv
. La biblioteca Commander nos ayuda a encapsular algunos métodos sin que tengamos que juzgar las instrucciones transmitidas por la entrada del usuario.
npm install [email protected] -S
const Commander = require("commander"); //... Commander.parse(process.argv); // Una vez
completada la instalación, Commander nos proporcionará automáticamente algunos comandos, como --help
. Probémoslo a continuación:
mycli --help
de Commander. . version("1.0.0");
Ejecute mycli -V
y podrá ver que la consola imprime el número de versión 1.0.0
.
El método de comando personalizado
commander.option(指令名, 描述, 回调函数)
--init
:Commander.option("--init", "this is init", () => { // tiza // const hola = tiza.red("hola"); // const hola = chalk.blue.bgRed("hola"); // const hola = chalk.blue.bgYellow("hola"); const hola = tiza.rgb(200, 200, 200).bgRgb(0, 200, 3)("hola"); console.log(hola); // hora hilandero constante = ora({ texto: "Instalando..." }); hilandero.start(); setTimeout(() => { // hilandero.stop(); spinner.succeed("Instalación exitosa"); // console.log("Instalación exitosa"); }, 1000) })
Ahora ejecute mycli --init
test:
es Commander.option("--number <num>", "registrar un número", (num) => { consola.log(núm); })
<参数名>
indica los parámetros que se deben pasar y [参数名]
indica los parámetros que no es necesario pasar. Ingrese mycli --number 100
en la consola y presione Enter. Puede ver 100
.
Método de comando personalizado
Commander.command("create <projectName>").action((projectName)=>{ console.log(nombredelproyecto); })
Ejecute mycli create xx
y presione Enter. Puede ver xx
aparece en la consola.
Vea la ayuda
ejecutando mycli --help
. Puede ver que las instrucciones y comandos que acabamos de configurar aparecen en la lista de ayuda.
de Querer
npm install Querer -S
prompt
para preguntara Querer.prompt([ { tipo: "entrada", nombre: "nombre de usuario", mensaje: "Por favor ingrese el nombre de usuario:" } ]).entonces((respuesta)=>{ })
type
indica el tipo de pregunta, y el valor puede ser: input
, number
, password
, editor
, etc.
answer
es {username: 输入的值}
input
de tipo de entradaconst querer = require("inquirer"); comandante.command("agregar usuario").action(() => { preguntador.prompt([ { tipo: "entrada", nombre: "nombre de usuario", mensaje: "Por favor ingrese el nombre de usuario:" } ]).entonces((respuesta) => { consola.log(respuesta); }) })
confirm
Commander.command("testcon").action(() => { preguntador.prompt([ { escriba: "confirmar", nombre: "edad", mensaje: "¿Tienes más de 18 años?" } ]).entonces((respuesta) => { consola.log(respuesta); }) })
Introduzca y
o n
para emitir un juicio.
list
tipos de selección de radioCommander.command("testlist").action(() => { preguntador.prompt([ { tipo: "lista", nombre: "lib", mensaje: "Seleccione el marco a utilizar:", opciones: [ "vista2", "vista3", "reaccionar", "esbelto", ] } ]).entonces((respuesta) => { consola.log(respuesta); }) })
Ejecute el comando mycli testlist
:
download-git-repo es una herramienta para extraer código.
Instale
npm install [email protected] -S
const downgit = require("download-git-repo"); downgit("github:kongcodes/vue3-vant", downUrl, { clon: falso }, función (err) { consola.log(err) })
Se entiende que el primer parámetro en el método downgit
es descargar la plantilla de proyecto vue3-vant
del usuario de kongcodes desde github. El segundo parámetro downUrl
es el directorio al que se debe descargar la plantilla. El tercer parámetro clone
es si se debe usar git clone
para descargar. El cuarto parámetro son algunas cosas que se ejecutarán cuando se complete la descarga.
command
Commander.command("create <projectName>").action((projectName) => {junto con el método de comando
hilandero constante = ora({ texto: "Descargando https://github.com/kongcodes/vue3-vant..." }); hilandero.start(); fs.mkdirSync(`./${projectName}`); const downUrl = `${proceso.cwd()}\${nombredelproyecto}`; downgit("github:kongcodes/vue3-vant", downUrl, { clon: falso }, función (err) { si (err) tirar errar; hilandero.stop(); console.log(chalk.green("éxito de downgit")); }) })
Ejecute mycli create pro
y presione Enter. El directorio pro
se creará en el directorio actual y vue3-vant
se descargará en este directorio.
https://github.com/kongcodes/mycli