npm
npm scripts
Zoeken…
Syntaxis
- Met de eigenschap "scripts" in
package.json
kunt u npm-pakketten lokaal uitvoeren. - Het script
"karma": "karma"
verwijst naar hetkarma
shell-script en is denode_modules/.bin
. Deze referentie moet worden gepakt en er moet een alias op worden toegepast om te worden gebruikt in andere npm-scripts, zoals"test": "karma start"
.
Opmerkingen
Vooraf herkende scripts
-
prepublish
: uitvoeren voordat het pakket is gepubliceerd -
publish
,postpublish
: uitvoeren nadat het pakket is gepubliceerd - pre-
preinstall
: uitvoeren voordat het pakket is geïnstalleerd -
install
,postinstall
: uitvoeren nadat het pakket is geïnstalleerd -
preversion
,version
: uitvoeren voordat de pakketversie wordtpreversion
-
postversion
: uitvoeren na bump de pakketversie -
pretest
,test
,posttest
: uitgevoerd door de opdrachtnpm test
-
prestop
,stop
,poststop
: uitgevoerd door hetnpm stop
stopcommando -
prestart
,start
, na depoststart
: uitgevoerd met de opdrachtnpm start
-
prerestart
,restart
,postrestart
: Run door denpm restart
commando. Opmerking:npm restart
voert de stop uit en start scripts als er geenrestart
is opgegeven.
Hieruit kan worden afgeleid dat de eigenschap "scripts"
in package.json
een zeer krachtig hulpmiddel is. Het kan worden gebruikt als een bouwgereedschap, vergelijkbaar met Grunt en Gulp, maar met meer dan 250.000 pakketten beschikbaar. NPM-scripts voert npm-pakketten uit die lokaal op uw project zijn geïnstalleerd vanuit de node_modules/.bin
.
Karma lokaal uitvoeren
package.json
fragment
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}
Npm-scripts uitvoeren
Er zijn twee soorten npm-scripts en de opdracht om ze uit te voeren is iets anders. Het eerste type npm-scripts zijn "vooraf herkende" scripts. Deze scripts worden automatisch herkend door npm en hebben geen speciaal voorvoegsel nodig (zoals u voor het andere type zult zien) om ze uit te voeren. Het andere type scripts zijn "aangepaste" scripts. Deze scripts worden niet vooraf herkend door npm en moeten worden voorafgegaan door een speciale opdracht om ze uit te voeren. Er is een lijst met vooraf herkende scripts in het opmerkingengedeelte.
Vooraf erkende scripts uitvoeren:
npm start
of npm test
Om aangepaste scripts uit te voeren, moet u de opdracht run
gebruiken:
npm run karma
Wat npm-scripts zijn en hoe ze worden geactiveerd
De npm-scripts zijn opdrachten die npm
voor u zullen uitvoeren wanneer ze met de juiste argumenten worden aangeroepen. De kracht en het gevoel hiervan is om de npm-pakketten NIET wereldwijd te installeren die uw omgeving vervuilen.
Het verschil tussen vooraf herkende en aangepaste scripts is afhankelijk van het run
word tussen de tags, custom
scripts hebben de run
tussen npm en de scriptnaam nodig
Op basis hiervan kunnen we differentiëren en verschillende taken of scripts maken die met npm kunnen worden uitgevoerd.
Gegeven het volgende voorbeeld in het bestand 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"
}
...
}
We kunnen verschillende taken zien die worden uitgevoerd:
npm test
Zou prima werken omdat het een vooraf herkend script isnpm run test
Zou prima werken omdat het een geldige manier is om een npm-script uit te voerennpm run test:watch
zou ook werken, en het roept npm run test in zichzelf aannpm run build
Zou vóór het uitvoeren vangulp build
dedist
map in de directory moeten verwijderen (ervan uitgaande dat je in Linux bent of de opdrachtrm
wordt herkend)