npm
npm scripts
Buscar..
Sintaxis
- La propiedad "scripts" en
package.json
permite ejecutar paquetes npm localmente. - El script
"karma": "karma"
referencia al script de shellkarma
el 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 depreversion
version
del paquete -
postversion
: Ejecutar después de golpear la versión del paquete -
pretest
,test
,posttest
:npm test
por elnpm test
-
prestop
,stop
,poststop
:poststop
por el comandonpm stop
-
prestart
,start
,poststart
:poststart
por el comandonpm start
-
prerestart
,restart
,postrestart
:postrestart
por el comandonpm restart
. Nota:npm restart
ejecutará 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 test
bien ya que es un script pre-reconocidonpm run test
bien ya que es una forma válida de ejecutar un script npmnpm run test:watch
también funcionaría, y se llama prueba de ejecución de npm dentro de sí mismonpm run build
Antes de ejecutargulp build
elimine la carpetadist
que se encuentra en el directorio (suponiendo que esté en Linux o que se reconozca el comandorm
)