Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

npm-skript pakker et sett med terminalkommandoer som du kan bruke til å automatisere oppgaver i et JavaScript-prosjekt. De gir også en konsistent måte å kjøre kommandoer i forskjellige miljøer.

Du kan sette opp npm-skript i en package.json-fil, kjøre dem på kommandolinjen og bruke et bredt sett med alternativer for å konfigurere oppførselen deres.

Sette opp npm-skript i filen package.json

Du definerer vanligvis npm-skript i en package.json-fil, som ligger i roten av JavaScript-prosjektet. Dette er ikke et must da du kan kjøre skript fra andre filer, men package.json gjør det enklere å få tilgang til og administrere skriptene dine.

Merk at du må ha npm og Node installert i utviklingsmiljøet ditt for å følge med. Her er noen nyttige artikler:

  • hvordan installer Node.js og npm på Windows.
  • hvordan installer Node.js og npm på Ubuntu.

For å sette opp et npm-skript i package.json, følg trinnene nedenfor:

instagram viewer
  1. Naviger til roten av prosjektet ditt.
  2. Kjør npm init på terminalen. Kommandoen vil stille deg noen spørsmål om prosjektet ditt. Svar dem for å opprette en passende package.json-fil.
    npm init 
  3. Finn skriptfeltet i filen package.json. Her kan du legge til navnet på et skript og kommandoen det skal kjøre som nøkkel/verdi-par. For eksempel, skriptet nedenfor, kalt hello-world, skriver ut "Hello world" i terminalen når det kjøres.
    {
    "skript": {
    "Hei Verden": "ekko \\"Hei Verden\\""
    }
    }

Her er noen vanlige skript for JavaScript-prosjekter:

  • start: Dette skriptet starter utviklingsserveren. For eksempel, i et Node-prosjekt kan det kjør serveren med nodemon.
  • bygge: Genererer produksjonskoden for applikasjonen din og kan bruke et verktøy som webpack for å forminske og gruppere koden.
  • test: Dette skriptet kjører testene som er definert i prosjektet ditt. Det kan kjøre et testrammeverk som Jest.
  • lo: Et lint-skript kjører et linting-verktøy som ESLint for å sjekke koden for potensielle feil.
  • se: Dette skriptet ser på kildekoden for endringer og kjører deretter en kommando. Det er nyttig for å kjøre tester på nytt eller gjenoppbygge applikasjonen ved kodeendring.
  • utplassere: Kjører en kommando som distribuerer applikasjonen til det spesifiserte miljøet som produksjon eller iscenesettelse.

Pre- og Post-skript

npm støtter pre- og post-skript. Forhåndsskript kjører før et spesifikt skript mens postskript kjøres etterpå. Du kan lage pre- og post-skript for et hvilket som helst skript, bare prefiks "pre" eller "post" til skriptnavnet ditt.

Nedenfor er for eksempel pretest- og posttest-skript som kjøres henholdsvis før og etter testskriptet.

{
"skript": {
"pretest": "npm run lint",
"test": "spøk",
"posttest": "npm kjøre bygge"
}
}

Kjører npm-skript fra package.json

Når du har lagt til et npm-skript til package.json, kan du kjøre det ved å bruke npmrun-kommandoen.

Her er syntaksen:

npm løp 

For å kjøre startskriptet definert tidligere, bruk for eksempel:

npm kjøre start

Du kan utføre kommandoen npmrun på egen hånd, for å få listen over alle tilgjengelige skript i et prosjekt. Her er noen eksempler på utdata:

Skript tilgjengelig i [email protected] via `npm run-script`:
Hei Verden
ekko "Hei verden"

Den viser navnet på skriptet og kommandoen det kjører.

Bruke stenografikommandoer for å kjøre innebygde skript

npm støtter flere innebygde skript du kan kjøre ved hjelp av stenografikommandoer. For å kjøre et npm-skript med navnet start, kan du for eksempel bruke npm start, i stedet for npm run start.

Dette er mer praktisk og raskere enn å skrive hele kommandoen. Andre innebygde skript du kan kjøre som dette inkluderer "test", "stopp" og "start på nytt".

Kjøre flere npm-skript

Du kan kjøre flere npm-skript på to måter:

  • Sekvensielt
  • Parallelt

Hvis du bruker Linux, eller et annet Unix-lignende system, kan du bruke standarden metoder for å kjøre flere kommandoer samtidig.

For å kjøre flere npm-skript sekvensielt bruk &&, for eksempel:

npm kjøre start && npm test

For å kjøre flere npm-skript parallelt, bruk &, for eksempel:

npm kjøre server og npm kjøre klient

I ikke-UNIX-miljøer kan du bruke kommandoen npm-run-all eller samtidig npm-pakken.

Bruke npm-run-all:

npm-run-all --parallell serverklient

Bruker samtidig i package.json.

"skript": {
"utvikler": "samtidig \\"npm kjøre server\\" \\"npm kjøre klient\\"",
}

Merk at du må installere pakkene npm-run-all og Concurrently før du bruker dem.

Feilsøking av vanlige Npm-skriptfeil

Nedenfor er noen vanlige feil du kan støte på når du kjører npm-skript:

  • npm feil! mangler manus — Denne feilen oppstår når du ikke har definert skriptet du prøver å kjøre i filen package.json. Sørg for at du staver skriptnavnet riktig og at det er definert i skriptfeltet i filen package.json.
  • Tillatelse avslått — Denne feilen oppstår når du ikke har tillatelse til å kjøre et skript, så sørg for at du har de riktige tillatelsene.
  • Manglende avhengigheter — Denne feilen oppstår når skriptet bruker en pakke som ikke er installert. Bruk et verktøy som depcheck for å se etter avhengigheter som mangler fra package.json, installer dem deretter med npm install.
  • Ukjent kommando — Denne feilen oppstår vanligvis når du kjører et tilpasset skript som en innebygd npm-kommando. Pass på at du bruker npm løp eller npm kjøre-skript når du kjører tilpassede skript.

Bruke miljøvariabler i npm-skript

Miljøvariabler lar deg sende informasjon uten å hardkode den. For å bruke miljøvariabler i et npm-skript, kan du bruke cross-env npm-pakke. Dette verktøyet hjelper deg med å angi en miljøvariabel i ethvert miljø.

Begynn med å kjøre denne kommandoen på terminalen for å installere den som en dev-avhengighet:

npm jeg lagrer -D cross-env

Bruk det så i skriptet ditt slik:

{
"skript": {
"bygge": "cross-env NODE_ENV=produksjonsnettpakke"
}
}

Her setter cross-env variabelen NODE_ENV til "produksjon".

Sende kommandolinjeargumenter til skript

Du kan sende kommandolinjeargumenter til et npm-skript ved å bruke to bindestreker "--" etter skriptnavnet. For eksempel kjører følgende kommando testskriptet med watch-argumentet:

npm kjøre test -- --watch

Du kan også sende et kommandolinjeargument til et npm-skript som dette:

npm kjør min-port --PORT=3000

Deretter får du tilgang til det i skriptet som følger.

"skript": {
"min-port": "ekko \\"Port: $npm_config_PORT\\""
}

På et Windows-system, bruk dette:

"skript": {
"min-port": "ekko \\"Port: %npm_config_PORT%\\""
}

Skriptet skal skrive ut "Port: 3000" når du kjører det.

Hvorfor bruke npm-skript?

Du kan legge til skript til package.json, kjøre dem på kommandolinjen, bruke pre- og post-hooks, og sende linjeargumenter og miljøvariabler til dem.

npm-skript er en kraftig måte å automatisere oppgaver i JavaScript-prosjekter på. De kan forbedre arbeidsflyten din og spare tid ved å gi deg konsistente kommandoer for å kjøre flere oppgaver.