npm-komentosarjat yhdistävät joukon päätekomentoja, joita voit käyttää JavaScript-projektin tehtävien automatisointiin. Ne tarjoavat myös johdonmukaisen tavan suorittaa komentoja eri ympäristöissä.
Voit määrittää npm-komentosarjoja package.json-tiedostoon, suorittaa ne komentorivillä ja määrittää niiden toiminnan useiden eri asetusten avulla.
Npm-komentosarjojen määrittäminen package.json-tiedostossa
Yleensä määrität npm-komentosarjat package.json-tiedostossa, joka sijaitsee JavaScript-projektisi juuressa. Tämä ei ole pakollista, koska voit suorittaa skriptejä muista tiedostoista, mutta package.json helpottaa komentosarjojesi käyttöä ja hallintaa.
Huomaa, että sinun on oltava npm ja Node asennettuna kehitysympäristöösi, jotta voit seurata sitä. Tässä on joitain hyödyllisiä artikkeleita:
- Miten asenna Node.js ja npm Windowsiin.
- Miten asenna Node.js ja npm Ubuntuun.
Voit määrittää npm-komentosarjan package.jsonissa seuraavasti:
- Siirry projektisi juureen.
- Suorita npm init terminaalissa. Komento kysyy sinulta joitain kysymyksiä projektistasi. Vastaa heille luodaksesi sopiva package.json-tiedosto.
npm init
- Etsi paketti.json-tiedostosta komentosarjat-kenttä. Täällä voit lisätä komentosarjan nimen ja komennon, jonka sen tulisi suorittaa avain/arvo-pareina. Esimerkiksi alla oleva skripti, nimeltä hello-world, tulostaa terminaaliin "Hello world" ajettaessa.
{
"käsikirjoitukset": {
"Hei maailma": "kaiku \\"Hei maailma\\""
}
}
Tässä on joitain yleisiä JavaScript-projektien komentosarjoja:
- alkaa: Tämä komentosarja käynnistää kehityspalvelimen. Esimerkiksi Node-projektissa se voi suorita palvelin nodemonin avulla.
- rakentaa: Luo tuotantokoodin sovelluksellesi ja voi käyttää työkalua, kuten verkkopakettia, pienentää ja niputtaa koodia.
- testata: Tämä komentosarja suorittaa projektissasi määritetyt testit. Se voi suorittaa testauskehyksen, kuten Jest.
- nukka: Lint-skripti suorittaa linting-työkalun, kuten ESLint, tarkistaakseen koodin mahdollisten virheiden varalta.
- katsella: Tämä komentosarja tarkkailee lähdekoodia muutoksia ja suorittaa sitten komennon. Siitä on hyötyä testien uudelleen suorittamisessa tai sovelluksen uudelleenrakentamisessa koodin vaihdon yhteydessä.
- ottaa käyttöön: Suorittaa komennon, joka ottaa sovelluksen käyttöön määritettyyn ympäristöön, kuten tuotanto- tai vaiheistusympäristöön.
Pre- ja Post-skriptit
npm tukee pre- ja post-skriptejä. Esikomentosarjat suoritetaan ennen tiettyä komentosarjaa, kun taas post-skriptit suoritetaan sen jälkeen. Voit luoda pre- ja post-skriptejä mille tahansa skriptille, vain etuliitä "pre" tai "post" komentosarjan nimeen.
Alla on esimerkiksi esitestaus- ja jälkitestauskomentosarjat, jotka suoritetaan vastaavasti ennen ja jälkeen testiskriptin.
{
"käsikirjoitukset": {
"esitesti": "npm run lint",
"testata": "vitsi",
"jälkitesti": "npm run build"
}
}
Suoritetaan npm-komentosarjat paketista package.json
Kun olet lisännyt npm-komentosarjan package.json-tiedostoon, voit suorittaa sen npmrun-komennolla.
Tässä on syntaksi:
npm juoksu
Jos haluat esimerkiksi suorittaa aiemmin määritellyn aloitusskriptin, käytä:
npm ajon aloitus
Voit suorittaa npmrun-komennon yksinään saadaksesi luettelon kaikista projektin käytettävissä olevista komentosarjoista. Tässä on esimerkkituloste:
Komentosarjat ovat saatavilla osoitteessa [email protected] npm run-scriptin kautta:
Hei maailma
echo "Hei maailma"
Se luettelee skriptin nimen ja sen suorittaman komennon.
Pikakomentojen käyttäminen sisäänrakennettujen komentosarjojen suorittamiseen
npm tukee useita sisäänrakennettuja skriptejä, joita voit suorittaa pikakomennoilla. Jos haluat esimerkiksi suorittaa npm-komentosarjan nimeltä start, voit käyttää npm startia npm run startin sijaan.
Tämä on kätevämpää ja nopeampaa kuin koko komennon kirjoittaminen. Muita sisäänrakennettuja komentosarjoja, joita voit suorittaa tällä tavalla, ovat "testi", "stop" ja "restart".
Useiden npm-komentosarjojen suorittaminen
Voit ajaa useita npm-skriptejä kahdella tavalla:
- Peräkkäin
- Rinnakkain
Jos käytät Linuxia tai jotain muuta Unix-tyyppistä järjestelmää, voit käyttää standardia tapoja suorittaa useita komentoja kerralla.
Jos haluat suorittaa useita npm-skriptejä peräkkäin, käytä &&, esimerkiksi:
npm-käynnistys && npm-testi
Jos haluat ajaa useita npm-skriptejä rinnakkain, käytä &, esimerkiksi:
npm run server & npm run client
Muissa kuin UNIX-ympäristöissä voit käyttää komentoa npm-run-all tai samanaikaisesti npm-pakettia.
Käyttämällä npm-run-all:
npm-run-all --rinnakkaispalvelinasiakas
Käytetään samanaikaisesti paketissa package.json.
"käsikirjoitukset": {
"dev": "samanaikaisesti \\"npm suorita palvelin\\" \\"npm suorita asiakas\\"",
}
Huomaa, että sinun on asennettava paketit npm-run-all ja Concurrently ennen niiden käyttöä.
Yleisten Npm-skriptivirheiden vianmääritys
Alla on joitain yleisiä virheitä, joita saatat kohdata ajaessasi npm-skriptejä:
- npm err! puuttuva käsikirjoitus — Tämä virhe ilmenee, kun et ole määrittänyt komentosarjaa, jota yrität suorittaa package.json-tiedostossa. Varmista, että kirjoitat komentosarjan nimen oikein ja että se on määritetty package.json-tiedoston komentosarjakentässä.
- Lupa kielletty — Tämä virhe ilmenee, kun sinulla ei ole oikeutta suorittaa komentosarjaa, joten varmista, että sinulla on oikeat käyttöoikeudet.
- Riippuvuudet puuttuvat — Tämä virhe ilmenee, kun komentosarja käyttää pakettia, jota ei ole asennettu. Käytä työkalua, kuten depcheck tarkistaaksesi, ettei paketista package.json puuttuu riippuvuuksia, ja asenna ne käyttämällä npm install -ohjelmaa.
- Tuntematon komento — Tämä virhe ilmenee yleensä, kun suoritat mukautetun komentosarjan sisäisenä npm-komentona. Varmista, että käytät npm juoksu tai npm run-script kun suoritat mukautettuja komentosarjoja.
Ympäristömuuttujien käyttö npm-skripteissä
Ympäristömuuttujat mahdollistaa tiedon välittämisen ilman kovaa koodausta. Jos haluat käyttää ympäristömuuttujia npm-komentosarjassa, voit käyttää cross-env npm -paketti. Tämän työkalun avulla voit asettaa ympäristömuuttujan missä tahansa ympäristössä.
Aloita suorittamalla tämä komento päätteessä asentaaksesi sen kehittäjäriippuvuutena:
npm tallennan -D cross-env
Käytä sitten sitä skriptissäsi näin:
{
"käsikirjoitukset": {
"rakentaa": "cross-env NODE_ENV=tuotantoverkkopaketti"
}
}
Tässä cross-env asettaa NODE_ENV-muuttujan arvoon "tuotanto".
Komentoriviargumenttien välittäminen komentosarjoille
Voit välittää komentoriviargumentteja npm-skriptille käyttämällä kahta viivaa "--" komentosarjan nimen jälkeen. Esimerkiksi seuraava komento suorittaa testiskriptin watch-argumentilla:
npm-ajotesti katso
Voit myös lähettää komentoriviargumentin npm-skriptille seuraavasti:
npm run my-port --PORT=3000
Käytä sitä sitten komentosarjassa seuraavasti.
"käsikirjoitukset": {
"minun portti": "kaiku \\"Portti: $npm_config_PORT\\""
}
Windows-järjestelmässä käytä tätä:
"käsikirjoitukset": {
"minun portti": "kaiku \\"Portti: %npm_config_PORT%\\""
}
Skriptin pitäisi tulostaa "Port: 3000", kun suoritat sen.
Miksi käyttää npm-skriptejä?
Voit lisätä komentosarjoja package.json-tiedostoon, suorittaa ne komentorivillä, käyttää pre- ja post-koukkuja sekä välittää niille riviargumentteja ja ympäristömuuttujia.
npm-skriptit ovat tehokas tapa automatisoida tehtäviä JavaScript-projekteissa. Ne voivat parantaa työnkulkuasi ja säästää aikaa tarjoamalla sinulle johdonmukaisia komentoja useiden tehtävien suorittamiseen.