Cómo ejecutar, configurar y solucionar problemas de scripts npm
Los scripts de npm integran un conjunto de comandos de terminal que puede usar para automatizar tareas en un proyecto de JavaScript. También proporcionan una forma consistente de ejecutar comandos en diferentes entornos.
Puede crear secuencias de comandos npm en el archivo package.json, ejecutarlas en la línea de comandos y usar amplias opciones para configurar su comportamiento.
Instalación de scripts npm en el archivo package.json
Por lo general, define los scripts npm en el archivo package.json ubicado en la raíz de su proyecto de JavaScript. Esto no es necesario ya que puede ejecutar secuencias de comandos desde otros archivos, pero package.json facilita el acceso y la administración de sus secuencias de comandos.
Tenga en cuenta que npm y Node deben estar instalados en su entorno de desarrollo para continuar. Aquí hay algunos artículos útiles:
Siga estos pasos para configurar el script npm en package.json:
- Vaya a la raíz de su proyecto.
- Ejecute npm init en la terminal. El equipo le hará algunas preguntas sobre su proyecto. Responda para generar el archivo package.json adecuado.
npm init
- Busque el campo de secuencias de comandos en el archivo package.json. Aquí puede agregar el nombre del script y el comando en el que debe ejecutarse como pares clave/valor. Por ejemplo, el siguiente script llamado hello-world imprime “Hello world” en la terminal cuando se ejecuta.
{
"scripts": {
"hello-world": "echo \\"Hello world\\""
}
}
Algunos scripts comunes para proyectos de JavaScript son:
- para comenzar: Este script inicia el servidor de desarrollo. Por ejemplo, puede hacer esto en un proyecto de Nodo. Inicie el servidor usando nodemon.
- para construir: genera el código de producción para su aplicación y puede usar una herramienta como webpack para minimizar y fusionar el código.
- prueba: Este script ejecuta las pruebas definidas en su proyecto. Puede ejecutar un marco de prueba como Jest.
- pluma: El script de pelusa ejecuta una herramienta de pelusa como ESLint para verificar el código en busca de posibles errores.
- ver: este script supervisa el código fuente en busca de cambios y luego ejecuta el comando. Útil para volver a ejecutar pruebas o reconstruir una aplicación con cambios de código.
- poner: ejecuta un comando que implementa una aplicación en un entorno específico, como producción o ensayo.
Antes y después de guiones
npm admite scripts previos y posteriores. Los scripts previos se ejecutan antes de un script específico y los scripts posteriores se ejecutan después. Puede crear secuencias de comandos previas y posteriores para cualquier secuencia de comandos, simplemente prefije el nombre de su secuencia de comandos con “pre” o “post”.
Por ejemplo, a continuación se encuentran los scripts de prueba previa y posterior que se ejecutarán antes y después del script de prueba, respectivamente.
{
"scripts": {
"pretest": "npm run lint",
"test": "jest",
"posttest": "npm run build"
}
}
Ejecutar scripts npm desde package.json
Después de agregar el script npm a package.json, puede ejecutarlo usando npm. ejecutar comando.
Aquí está la sintaxis:
npm run
Por ejemplo, para ejecutar un script de inicio definido previamente, utilice:
npm run start
Puedes ejecutar npm ejecute el comando solo para obtener una lista de todos los scripts disponibles en el proyecto. Aquí hay algunos ejemplos de salida:
Scripts available in npm-scripts-demo@1.0.0 via `npm run-script`:
hello-world
echo "Hello world"
Muestra el nombre del script y el comando que ejecuta.
Uso de comandos abreviados para ejecutar scripts integrados
npm admite varias secuencias de comandos integradas que puede ejecutar mediante abreviaturas. Por ejemplo, puede usar npm start en lugar de npm run start para ejecutar un script npm llamado start.
Esto es más conveniente y rápido que escribir el comando completo. Otros scripts incorporados que puede ejecutar como este incluyen “prueba”, “detener” y “reiniciar”.
Ejecuta múltiples scripts npm
Puede ejecutar múltiples scripts npm de dos maneras:
Si está utilizando Linux o cualquier otro sistema similar a Unix, puede utilizar el valor predeterminado métodos para ejecutar varios comandos.
Use && para ejecutar varios scripts npm en secuencia, por ejemplo:
npm run start && npm test
& para ejecutar varios scripts npm en paralelo, por ejemplo:
npm run server & npm run client
En entornos que no son UNIX, puede usar el comando npm-run-all o el paquete npm al mismo tiempo.
usando npm-run-all:
npm-run-all --parallel server client
Uso concurrente en package.json.
"scripts": {
"dev": "concurrently \\"npm run server\\" \\"npm run client\\"",
}
Tenga en cuenta que debe instalar los paquetes npm-run-all y Concurrently antes de usarlo.
Solución de errores comunes de secuencias de comandos de Npm
A continuación se muestran algunos errores comunes que puede encontrar al ejecutar scripts npm:
- ¡Error de npm! guión faltante — Este error ocurre cuando no especifica el script que intenta ejecutar en el archivo package.json. Asegúrese de escribir correctamente el nombre del script y de que esté definido en el campo scripts del archivo package.json.
- Permiso denegado — Este error ocurre si no tiene permiso para ejecutar el script, así que asegúrese de tener los permisos correctos.
- Dependencias que faltan — Este error ocurre cuando el script usa un paquete que no está instalado. usar una herramienta como comprobación profunda Para comprobar si faltan dependencias en package.json, instálelas mediante npm install.
- Comando desconocido — Este error generalmente ocurre cuando ejecuta un script personalizado como un comando interno de npm. Asegúrate de usar npm ejecutar o script de ejecución de npm al ejecutar scripts personalizados.
Uso de variables de entorno en scripts de Npm
Variables ambientales permite transmitir información sin codificación dura. Puede usar el script npm para usar variables de entorno paquete npm entre entornos. Esta herramienta ayuda a establecer la variable de entorno en cualquier entorno.
Para instalarlo como una dependencia del desarrollador, comience ejecutando este comando en una terminal:
npm i save -D cross-env
Luego úsalo en tu script así:
{
"scripts": {
"build": "cross-env NODE_ENV=production webpack"
}
}
Aquí, cross-env establece la variable NODE_ENV en “producción”.
Pasar argumentos de línea de comando a scripts
Puede pasar argumentos de línea de comando a un script npm usando dos guiones “–” después del nombre del script. Por ejemplo, el siguiente comando ejecuta el script de prueba con el argumento watch:
npm run test -- --watch
También puede pasar un argumento de línea de comando al script npm como este:
npm run my-port --PORT=3000
Luego ingrese lo siguiente en el script.
"scripts": {
"my-port": "echo \\"Port: $npm_config_PORT\\""
}
En Windows, usa esto:
"scripts": {
"my-port": "echo \\"Port: %npm_config_PORT%\\""
}
El script debe imprimir “Puerto: 3000” cuando se ejecuta.
¿Por qué debería usar secuencias de comandos npm?
Puede agregar secuencias de comandos a package.json, ejecutarlas en la línea de comando, usar ganchos previos y posteriores, y pasarles argumentos de cadena y variables de entorno.
Los scripts npm son una forma poderosa de automatizar tareas en proyectos de JavaScript. Pueden mejorar su flujo de trabajo y ahorrarle tiempo al proporcionarle comandos consistentes para realizar múltiples tareas.