npm
npm scripts
Buscar..
Sintaxis
- La propiedad "scripts" en
package.jsonpermite ejecutar paquetes npm localmente. - El script
"karma": "karma"referencia al script de shellkarmael directorionode_modules/.bin. Esta referencia debe ser grabada y debe aplicarse un alias para que se use en otros scripts npm, como"test": "karma start".
Observaciones
Scripts pre-reconocidos
-
prepublish: ejecutar antes de que se publique el paquete -
publish,postpublish: Ejecutar después de que el paquete se publica -
preinstall: Ejecutar antes de instalar el paquete -
install,postinstall: Ejecutar después de instalar el paquete -
version: ejecute antes depreversionversiondel paquete -
postversion: Ejecutar después de golpear la versión del paquete -
pretest,test,posttest:npm testpor elnpm test -
prestop,stop,poststop:poststoppor el comandonpm stop -
prestart,start,poststart:poststartpor el comandonpm start -
prerestart,restart,postrestart:postrestartpor el comandonpm restart. Nota:npm restartejecutará los scripts de detención e inicio si no se proporciona un script derestart.
Se puede deducir que la propiedad "scripts" en package.json es una herramienta muy poderosa. Puede usarse como una herramienta de compilación, similar a la de Grunt y Gulp, pero con más de 250,000 paquetes disponibles. Los scripts NPM ejecutan paquetes npm instalados localmente en su proyecto desde el directorio node_modules/.bin .
Ejecutando karma localmente
fragmento de package.json
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}
Ejecutando npm scripts
Hay dos tipos de scripts npm, y el comando para ejecutar cada uno es ligeramente diferente. El primer tipo de scripts npm son scripts "pre-reconocidos". Estos scripts son reconocidos automáticamente por npm y no necesitan un prefijo especial (como verá para el otro tipo) para ejecutarlos. El otro tipo de scripts son scripts "personalizados". Estos scripts no son reconocidos previamente por npm y tienen que estar precedidos por un comando especial para ejecutarlos. Hay una lista de scripts pre-reconocidos en la sección de comentarios.
Para ejecutar scripts pre-reconocidos:
npm start o npm test
Para ejecutar scripts personalizados necesita usar el comando de run :
npm run karma
¿Qué son los scripts npm y cómo se activan?
Los scripts npm son comandos que npm ejecutará cuando se le llame con los argumentos adecuados. El poder y la sensación de esto es NO instalar los paquetes npm de manera global contaminando su entorno.
La diferencia entre las secuencias de comandos pre-reconocidas y personalizadas se basa en la palabra de run entre las etiquetas, las secuencias de comandos custom deberán run entre npm y el nombre de la secuencia de comandos
En función de esto, podemos diferenciar y crear diferentes tareas o scripts para ejecutar con npm.
Dado el siguiente ejemplo en el archivo package.json :
{
"name": "MyApp",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "mocha --recursive ./tests/",
"test:watch": "npm run test -- -w",
"start": "nodemon --inspect ./app.js",
"build": "rm -rf ./dist/ && gulp build"
}
...
}
Podemos ver diferentes tareas a ejecutar:
npm testbien ya que es un script pre-reconocidonpm run testbien ya que es una forma válida de ejecutar un script npmnpm run test:watchtambién funcionaría, y se llama prueba de ejecución de npm dentro de sí mismonpm run buildAntes de ejecutargulp buildelimine la carpetadistque se encuentra en el directorio (suponiendo que esté en Linux o que se reconozca el comandorm)