npm
script npm
Ricerca…
Sintassi
- La proprietà "scripts" in
package.json
consente di eseguire i pacchetti npm localmente. - Il
"karma": "karma"
script"karma": "karma"
riferimento allo script di shellkarma
è lanode_modules/.bin
. Questo riferimento deve essere afferrato e deve essere applicato un alias per poter essere utilizzato in altri script npm, come"test": "karma start"
.
Osservazioni
Script pre-riconosciuti
-
prepublish
: Esegui prima che il pacchetto sia pubblicato -
publish
,postpublish
: Esegui dopo che il pacchetto è stato pubblicato -
preinstall
: Esegui prima che il pacchetto sia installato -
install
,postinstall
: Esegui dopo aver installato il pacchetto -
preversion
,version
: Eseguire prima di eliminare il pacchetto version -
postversion
: Esegui dopo aver eseguito il bump della versione del pacchetto -
pretest
,test
,posttest
: eseguito dal comando dinpm test
-
prestop
,stop
,poststop
: eseguito dal comandonpm stop
-
prestart
,start
,poststart
: eseguito dal comando dinpm start
-
prerestart
,restart
,postrestart
: eseguito dal comandonpm restart
. Nota: ilnpm restart
esegue l'arresto e avvia gli script se non viene fornito uno script direstart
.
Si può dedurre che la proprietà "scripts"
in package.json
è uno strumento molto potente. Può essere usato come strumento di compilazione, simile a Grunt e Gulp, ma con oltre 250.000 pacchetti disponibili. Gli script NPM eseguono pacchetti npm installati localmente nel progetto dalla directory node_modules/.bin
.
Esecuzione di karma localmente
package.json
snippet
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}
Esecuzione di script npm
Esistono due tipi di script npm e il comando per eseguirli è leggermente diverso. Il primo tipo di script npm sono script "pre-riconosciuti". Questi script sono riconosciuti automaticamente da npm e non hanno bisogno di un prefisso speciale (come vedrai per l'altro tipo) per eseguirli. Gli altri tipi di script sono script "personalizzati". Questi script non sono pre-riconosciuti da npm e devono essere preceduti da un comando speciale per eseguirli. C'è una lista di script pre-riconosciuti nella sezione dei commenti.
Per eseguire script pre-riconosciuti:
npm start
o npm test
Per eseguire script personalizzati è necessario utilizzare il comando run
:
npm run karma
Quali sono gli script npm e come vengono attivati
Gli script npm sono comandi che npm
eseguirà per te quando viene chiamato con gli argomenti appropriati. La forza e il senso di ciò è NON installare i pacchetti npm a livello globale per appiattire il proprio ambiente.
La differenza tra gli script predefiniti e personalizzati si basa sulla parola di run
tra i tag, gli script custom
avranno bisogno run
tra npm e il nome dello script
Sulla base di ciò possiamo differenziare e creare diversi compiti o script da eseguire con npm.
Dato il seguente esempio sul file 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"
}
...
}
Possiamo vedere diversi compiti da eseguire:
npm test
bene in quanto è uno script pre-riconosciutonpm run test
bene in quanto è un modo valido per eseguire uno script npmnpm run test:watch
anche, e sta chiamando npm eseguire test all'interno di se stessonpm run build
Prima di eseguiregulp build
elimina la cartelladist
che si trova nella directory (assumendo che tu sia in Linux o il comandorm
sia riconosciuto)