Zoeken…


Syntaxis

  • Met de eigenschap "scripts" in package.json kunt u npm-pakketten lokaal uitvoeren.
  • Het script "karma": "karma" verwijst naar het karma shell-script en is de node_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 wordt preversion
  • postversion : uitvoeren na bump de pakketversie
  • pretest , test , posttest : uitgevoerd door de opdracht npm test
  • prestop , stop , poststop : uitgevoerd door het npm stop stopcommando
  • prestart , start , na de poststart : uitgevoerd met de opdracht npm start
  • prerestart , restart , postrestart : Run door de npm restart commando. Opmerking: npm restart voert de stop uit en start scripts als er geen restart 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 is

  • npm run test Zou prima werken omdat het een geldige manier is om een npm-script uit te voeren

  • npm run test:watch zou ook werken, en het roept npm run test in zichzelf aan

  • npm run build Zou vóór het uitvoeren van gulp build de dist map in de directory moeten verwijderen (ervan uitgaande dat je in Linux bent of de opdracht rm wordt herkend)



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow