npm
npm-skript
Sök…
Syntax
- Egenskapen "skript" i
package.json
låter dig köra npm-paket lokalt. -
"karma": "karma"
-skriptet hänvisar tillkarma
skriptet ärnode_modules/.bin
katalogen. Denna referens måste tas och ett alias måste tillämpas på den för att kunna användas i andra npm-skript, till exempel"test": "karma start"
.
Anmärkningar
Pre-erkända skript
-
prepublish
: Kör innan paketet publiceras -
publish
,postpublish
: Kör efter att paketet har publicerats -
preinstall
: Kör innan paketet är installerat -
install
,postinstall
: Kör efter att paketet är installerat -
preversion
,version
: Kör innan du stöter på paketversionen -
postversion
: Kör efter att ha stött på paketversionen -
pretest
,test
,posttest
: Kör avnpm test
-
prestop
,stop
,poststop
: Kör avnpm stop
kommandot -
prestart
,start
,poststart
: Kör avnpm start
-
prerestart
,restart
,postrestart
: Kör mednpm restart
. Obs!npm restart
körs stopp- och startskript om ingetrestart
finns.
Det kan dras att egenskapen "scripts"
i package.json
är ett mycket kraftfullt verktyg. Det kan användas som ett byggverktyg, liknande Grunt och Gulp, men med över 250 000 paket tillgängliga. NPM-skript kör npm-paket installerade lokalt för ditt projekt från node_modules/.bin
katalogen.
Kör karma lokalt
package.json
utdrag
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}
Kör npm-skript
Det finns två typer av npm-skript, och kommandot att köra var och en är något annorlunda. Den första typen av npm-skript är "förkända" skript. Dessa skript identifieras automatiskt av npm och behöver inte ett speciellt prefix (som du ser för den andra typen) för att köra dem. Den andra typen av skript är "anpassade" skript. Dessa skript identifieras inte av npm och måste förinställas av ett specialkommando för att köra dem. Det finns en lista med förkända erkända skript i avsnittet kommentarer.
Så här kör du tidigare erkända skript:
npm start
eller npm test
För att köra egna skript som du behöver använda run
kommando:
npm run karma
Vad är npm-skript och hur utlöses de
Npm-skript är kommandon som npm
kommer att köras för dig när de anropas med rätt argument. Kraften och känslan av detta är att INTE installera npm-paketen globalt för att polutera din miljö.
Skillnaden mellan förkända och anpassade skript beror på run
mellan taggarna, custom
skript behöver run
mellan npm och skriptnamnet
Baserat på detta kan vi differentiera och skapa olika uppgifter eller skript som ska köras med npm.
Följande exempel på package.json
filen:
{
"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"
}
...
}
Vi kan se olika uppgifter som ska köras:
npm test
Skulle fungera bra eftersom det är ett förkunnat skriptnpm run test
Skulle fungera bra eftersom det är ett giltigt sätt att köra ett npm scriptnpm run test:watch
Skulle fungera också, och det ringer npm run test inuti sig självnpm run build
Skulle innan du körgulp build
ta bort mappendist
som finns i katalogen (förutsatt att du är i Linux eller kommandotrm
känns igen)