Cómo desarrollar una herramienta de línea de comandos basada en nodejs
Práctica de vista previa del efecto
A través de la demostración gif anterior, ha leído todo el contenido de este artículo: desarrolle un paquete npm que permita a todos instalarlo mediante el comando npm install. y pasar La línea de comando ejecuta directamente instrucciones relevantes y procesa las transacciones correspondientes. A continuación, aprenderemos juntos a través de un ejemplo tan sencillo como “Hola mundo”. Estructura del directorio de paquetes
"Sin reglas, sin cuadrados", todo tiene reglas que se deben seguir. El principio más básico para desarrollar un paquete Npm es necesitar un directorio de paquetes y crear un archivo de configuración de paquete correspondiente. Como se muestra en el ejemplo: hemos desarrollado un paquete llamado zwj, luego definimos el directorio del paquete como zwj, y luego podemos ingresar al directorio zwj y crear un archivo de configuración del paquete llamado paquete.json. El comando es el siguiente: mkdir?zwj
cd?zwj
Sin embargo, cuando creamos el archivo de configuración, para garantizar la precisión del contenido y el formato, se recomienda utilizar el comando npm init integrado de npm para crear. Después de ejecutar el comando, simplemente siga las instrucciones para completar la operación paso a paso. Eso sí, si insistes en configurarlo uno a uno, nadie te detendrá.
El archivo package.json inicializado puede satisfacer todas nuestras necesidades para desarrollar paquetes ordinarios, pero para los paquetes que necesitan admitir operaciones de línea de comandos, debemos realizar algunas otras adiciones. Primero, debe agregar la configuración bin al archivo de configuración y vincular comandos y scripts. La ubicación del archivo correspondiente al script puede ser el directorio raíz del paquete o un archivo en cualquier otro directorio del paquete. Después de consultar varios paquetes npm conocidos, se recomienda colocar la ubicación del script en un directorio llamado bin.
Después de completar esto, por supuesto deberíamos considerar implementar las funciones específicas de nuestro gadget, por lo que es inevitable crear algunos archivos js. En este punto, la estructura de directorios de nuestro paquete debería al menos verse como la siguiente: Breve descripción del contenido del archivo
Con la base anterior, analicemos el contenido de cada archivo uno por uno para obtener una comprensión más profunda del información mencionada anteriormente. Primero echemos un vistazo al contenido clave del archivo de configuración:
Esta es una parte interceptada de package.json y también es una parte más crítica. Esta información es casi necesaria para cada paquete npm completo. configuración. De arriba a abajo: nombre del paquete, versión, descripción del paquete, archivo de entrada principal y campos de configuración esenciales de la línea de comando bin.
Luego, veamos el contenido del archivo bin/zwj en el ejemplo: #!/usr/bin/env?node
require('../zwj.js ') ;
El código es súper simple, solo dos líneas en total. Por supuesto, aquí también podemos escribir lógica compleja, como llamar a diferentes scripts de ejecución en función de los parámetros de la línea de comandos, etc. Permítanme explicar brevemente estas dos líneas de código. La primera línea está escrita en Unix/Linux. En pocas palabras, le dice al programa qué usar para interpretar el siguiente código. Aquí, le dice al sistema que use el nodo para ejecutar el siguiente código. . La segunda línea es simple. Carga el módulo ../zwj.js y regresa. En otras palabras, después de esta línea de código, las funciones específicas de nuestro dispositivo de línea de comandos pueden controlarse mediante el archivo zwj.js. Entonces, lo que hace exactamente zwj.js depende de la intención del desarrollador. Independientemente de esto, primero echemos un vistazo a lo que hace zwj.js en el código de muestra: var?fs?=?require('fs '),
pwd?=?process.cwd();
console.log(fs.readdirSync(pwd));
Como se muestra en la pantalla de demostración, la función de La herramienta de línea de comando de ejemplo es mostrar la lista de archivos en el directorio de comando de ejecución en la consola. Process.cwd() obtiene la ruta completa del directorio que actualmente ejecuta el comando. Depuración local
En este punto, hemos terminado de desarrollar una herramienta de línea de comandos usando Node.js. Sin embargo, el desarrollo del programa a menudo no se puede completar en un solo paso y pueden surgir varios problemas desconocidos e impredecibles durante el proceso.
La depuración es particularmente importante en este momento, que es una de las razones por las que la depuración es indispensable en cualquier proyecto de desarrollo de programas. En realidad, es muy conveniente probar las herramientas de línea de comandos en Windows. Ingrese al directorio raíz del paquete local y ejecute: npm?install?.?-g
El paquete local que se está desarrollando se puede instalar como un paquete global. . Durante la ejecución del comando anterior, el archivo cmd requerido para la línea de comando se generará en el directorio del paquete global npm. En este ejemplo, se genera zwj.cmd. El contenido del archivo generado es aproximadamente el siguiente:
En Unix/Linux, es aún más simple. Solo necesita ejecutar el enlace npm en el directorio raíz del paquete.
Después del éxito, podemos ingresar directamente el comando zwj en la línea de comando para realizar la función correspondiente. Por supuesto, la premisa es que el directorio del paquete global npm se agrega a la variable de entorno de ruta. Por lo general, debería ser así:
Cuando ejecutamos el script de prueba del comando y encontramos el problema, lo modificamos en el paquete local. Una vez completado, ejecutamos el código de instalación anterior nuevamente para sobrescribir directamente la instalación anterior. o primero puede ejecutar el comando de desinstalación: npm?uninstall?-g?zwj
Luego instale nuevamente. Lanzamiento y actualización
Una vez completado el desarrollo de nuestra herramienta, nuestro último paso es cómo lanzarla a la comunidad y cómo ponerla a disposición de otros desarrolladores. Publicar paquetes npm es muy simple. Originalmente, solo necesita ejecutar el comando de publicación npm en el directorio raíz del paquete. Pero si está publicando una aplicación por primera vez, debe resolver el problema del inicio de sesión de la cuenta: primero ejecute el comando npm adduser, ingrese el nombre de usuario, la contraseña y el correo electrónico para iniciar sesión, y luego use el comando npm whoami para confirmar si el inicio de sesión fue exitoso. Una vez que todo esté listo, ejecute el comando npm Publish y su paquete podrá publicarse en la comunidad y compartirse con muchos desarrolladores.
Finalmente, actualizar es fácil. Después de agregar nuevas funciones localmente, después de pasar la prueba y modificar el número de versión, ejecute: npm Publish y espere a que finalice.
PD: Es mejor agregar un archivo README.md a cada paquete para escribir la función del paquete, cómo usarlo, actualizar registros, etc. Conveniente para que los usuarios lo comprueben. Perfecto~~