npm
npm scripts
Zoeken…
Syntaxis
- Met de eigenschap "scripts" in
package.jsonkunt u npm-pakketten lokaal uitvoeren. - Het script
"karma": "karma"verwijst naar hetkarmashell-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 stopstopcommando -
prestart,start, na depoststart: uitgevoerd met de opdrachtnpm start -
prerestart,restart,postrestart: Run door denpm restartcommando. Opmerking:npm restartvoert de stop uit en start scripts als er geenrestartis 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 testZou prima werken omdat het een vooraf herkend script isnpm run testZou prima werken omdat het een geldige manier is om een npm-script uit te voerennpm run test:watchzou ook werken, en het roept npm run test in zichzelf aannpm run buildZou vóór het uitvoeren vangulp builddedistmap in de directory moeten verwijderen (ervan uitgaande dat je in Linux bent of de opdrachtrmwordt herkend)