Los scripts de npm incluyen 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 configurar scripts npm en un archivo package.json, ejecutarlos en la línea de comandos y usar un amplio conjunto de opciones para configurar su comportamiento.
Configuración de scripts npm en el archivo package.json
Por lo general, define los scripts npm en un archivo package.json, ubicado en la raíz de su proyecto de JavaScript. Esto no es obligatorio, ya que puede ejecutar scripts desde otros archivos, pero package.json facilita el acceso y la administración de sus scripts.
Tenga en cuenta que debe tener npm y Node instalados en su entorno de desarrollo para poder continuar. Aquí hay algunos artículos útiles:
- Cómo instalar Node.js y npm en Windows.
- Cómo instalar Node.js y npm en Ubuntu.
Para configurar un script npm en package.json, siga los pasos a continuación:
- Navegue a la raíz de su proyecto.
- Ejecute npm init en la terminal. El comando le hará algunas preguntas sobre su proyecto. Respóndelas para crear un archivo package.json apropiado.
inicio npm
- En el archivo package.json, busque el campo de secuencias de comandos. Aquí puede agregar el nombre de un script y el comando que debe ejecutar como pares clave/valor. Por ejemplo, el siguiente script, llamado hola-mundo, imprime "Hola mundo" en la terminal cuando se ejecuta.
{
"guiones": {
"Hola Mundo": "eco \\"Hola Mundo\\""
}
}
Aquí hay algunos scripts comunes para proyectos de JavaScript:
- comenzar: Este script inicia el servidor de desarrollo. Por ejemplo, en un proyecto Node, puede ejecutar el servidor usando nodemon.
- construir: genera el código de producción para su aplicación y puede usar una herramienta como webpack para minificar y agrupar el código.
- prueba: Este script ejecuta las pruebas definidas en su proyecto. Puede ejecutar un marco de prueba como Jest.
- hilas: un script de pelusa ejecuta una herramienta de pelusa como ESLint para verificar el código en busca de posibles errores.
- mirar: este script observa el código fuente en busca de cambios y luego ejecuta un comando. Es útil para volver a ejecutar pruebas o reconstruir la aplicación en el cambio de código.
- desplegar: ejecuta un comando que implementa la aplicación en el entorno especificado, como producción o ensayo.
Guiones previos y posteriores
npm admite scripts previos y posteriores. Los scripts previos se ejecutan antes de un script específico, mientras que los scripts posteriores se ejecutan después. Puede crear secuencias de comandos previas y posteriores para cualquier secuencia de comandos, simplemente anteponga "pre" o "post" al nombre de su secuencia de comandos.
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.
{
"guiones": {
"prueba previa": "npm ejecutar pelusa",
"prueba": "broma",
"prueba posterior": "npm ejecutar compilación"
}
}
Ejecutando scripts npm desde package.json
Una vez que haya agregado un script npm a package.json, puede ejecutarlo con el comando npmrun.
Aquí está la sintaxis:
npm ejecutar
Por ejemplo, para ejecutar el script de inicio definido anteriormente, utilice:
npm inicio de ejecución
Puede ejecutar el comando npmrun solo para obtener la lista de todos los scripts disponibles en un proyecto. Aquí hay una salida de ejemplo:
Scripts disponibles en [email protected] a través de `npm run-script`:
Hola Mundo
eco "Hola mundo"
Muestra el nombre del script y el comando que ejecuta.
Uso de comandos abreviados para ejecutar scripts integrados
npm admite varios scripts integrados que puede ejecutar mediante comandos abreviados. Por ejemplo, para ejecutar un script npm llamado start, puede usar npm start, en lugar de npm run start.
Esto es más conveniente y rápido que escribir el comando completo. Otros scripts integrados que puede ejecutar como este incluyen "prueba", "detener" y "reiniciar".
Ejecución de múltiples scripts npm
Puede ejecutar múltiples scripts npm de dos maneras:
- secuencialmente
- En paralelo
Si está usando Linux o cualquier otro sistema similar a Unix, puede usar el estándar métodos para ejecutar varios comandos a la vez.
Para ejecutar varios scripts npm secuencialmente, use &&, por ejemplo:
npm ejecutar iniciar && prueba npm
Para ejecutar varios scripts npm en paralelo, use &, por ejemplo:
servidor de ejecución npm y cliente de ejecución npm
En entornos que no son UNIX, puede usar el comando npm-run-all o el paquete npm simultáneamente.
Usando npm-run-all:
npm-run-all --cliente de servidor paralelo
Usar simultáneamente en package.json.
"guiones": {
"desarrollador": "al mismo tiempo \\"servidor de ejecución npm\\" \\"npm ejecutar cliente\\"",
}
Tenga en cuenta que debe instalar los paquetes npm-run-all y Concurrently antes de usarlos.
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 ha definido el script que está intentando 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 cuando no tiene permiso para ejecutar un 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. Usa una herramienta como comprobación de profundidad para verificar las dependencias que faltan en el paquete.json, luego instálelas usando npm install.
- Comando desconocido — Este error generalmente ocurre cuando ejecuta un script personalizado como un comando npm integrado. Asegúrate de usar npm ejecutar o script de ejecución de npm al ejecutar scripts personalizados.
Uso de variables de entorno en scripts npm
Variables de entorno le permite pasar información sin codificarla. Para usar variables de entorno en un script npm, puede usar el paquete npm entre entornos. Esta herramienta le ayuda a establecer una variable ambiental en cualquier entorno.
Comience ejecutando este comando en la terminal para instalarlo como una dependencia de desarrollo:
npm guardo -D cross-env
Luego úsalo en tu script así:
{
"guiones": {
"construir": "cross-env NODE_ENV=paquete web de producción"
}
}
Aquí, cross-env establece la variable NODE_ENV en "producción".
Pasar argumentos de línea de comandos a secuencias de comandos
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 ejecutar prueba -- --ver
También puede enviar un argumento de línea de comando a un script npm como este:
npm ejecuta mi puerto --PORT=3000
Luego acceda a él en el script de la siguiente manera.
"guiones": {
"mi-puerto": "eco \\"Puerto: $npm_config_PORT\\""
}
En un sistema Windows, use esto:
"guiones": {
"mi-puerto": "eco \\"Puerto: %npm_config_PORT%\\""
}
El script debe imprimir "Puerto: 3000" cuando lo ejecute.
¿Por qué 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 línea 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 ejecutar múltiples tareas.