Red de conocimiento informático - Material del sitio web - Cómo desarrollar aplicaciones interactivas de línea de comandos usando Node.js

Cómo desarrollar aplicaciones interactivas de línea de comandos usando Node.js

Trabajar duro para crear su propia herramienta de línea de comandos a menudo puede reducir en gran medida la duplicación del trabajo y mejorar la eficiencia del desarrollo. Permítanme presentarles brevemente los pasos para desarrollar una herramienta de línea de comandos.

Tome como ejemplo el andamiaje rápido de proyectos front-end:

Pasos principales de desarrollo:

1. Crear un proyecto.

$ npm init

nombre: (app-cli)

versión: (1.0.0)

descripción: herramienta de línea de comandos para crear proyectos personalizados

Entrada: (index.js)

Autor:

Autorización: (MIT)

Se generará un archivo package.json.

Agregue el campo bin en el archivo

La clave del campo bin es su comando y el valor apunta a la ruta relativa de package.json

<. p> Diferentes teclas corresponden a diferentes comandos. Para obtener más información sobre el campo bin, consulte la sección package.json de la documentación de npm.

{ ?" name": "app-cli", ?" version": "1.0.0", ?" descripción": "Herramienta de línea de comandos para crear proyectos personalizados", ?" bin": { "createApp":"/bin/index.js"

}, ?" main":"index.js", ?" autor":"", ?" licencia":" MIT"}

2. Crear archivo bin/index.js

#! /usr/bin/env node console.log('¡Hola, mundo!');

Tenga en cuenta que debe agregar un shebang para especificar el entorno en el que se ejecuta el script

3 Prueba

Para facilitar la depuración durante el proceso de desarrollo, puede ejecutar comandos en el ámbito global, y debe reflejar el módulo de desarrollo en el ámbito global y ejecutar el comando en el directorio de desarrollo:

enlace npm

{userpath}\AppData\Roaming\npm\createapp -> {userpath}\AppData\Roaming\npm\node_modules\app-cli\bin index.js

{ruta de usuario} \AppData\Roaming\npm\node_modules\app-cli -> {ruta de usuario}\myproject/app-cli

$createapp

Hola, ¡mundo! ¡mundo!

Esto facilita la depuración del código.

Introducción a módulos comunes de herramientas de línea de comandos:

Marco de interacción de línea de comandos Commander.js

Uso: #! /usr/bin/env node/**

* Dependencias del módulo.

*/var program = require('commander');

program .version('0.0.1') . pimientos') .option('-P, --pineapple', 'Agregar piña') .option('-b, -bbq-sauce', 'Agregar salsa bbq') . type]', 'Agrega el tipo especificado de queso [mármol]', 'mármol') .parse(process.argv);console.log('pediste una pizza con:');if (program.peppers) console. log('? - pimientos');if (program.piña) console.log('? - piña');if (program.bbqSauce) console.log('? - barbacoa');console.log('? - %s cheese', program.cheese);

2.yargs Otro marco interactivo de línea de comandos#! /usr/bin/env nodo ?require('yargs')

.usage('$0 [args]')

.command('hola [nombre]' , '¡bienvenido ter yargs!', { nombre: { predeterminado: 'nombre predeterminado'

?}

}, { nombre: { predeterminado: 'nombre predeterminado'

}.

}, función (argv) { ?console.log('hola', argv.name, '¡bienvenido a yargs!')

})

.help()

.argv

$ nodo ejemplo.js --help

outputtest [args] Comando:

hola ?bienvenido ter yargs! Opciones:

--name, -n ?proporcione su nombre!

--help ?Mostrar ayuda ?

3. La interacción de la interfaz de usuario del Inquirer es el cuadro de aviso var quer = require('inquirer');

inquirer.prompt([/* Introduzca su pregunta aquí*/]).then( function (answers). ) { // Utilice los comentarios de los usuarios para... ¡¡¡lo que sea }) )

Commander.js

Inquirer.js

chalk.js

Instalación: $ npm install app-cli -g

$ createApp