npm vs npx - u čemu je razlika?

Ako ste ikada koristili Node.js, tada ste sigurno koristili npm .

npm (upravitelj paketa čvorova) je upravitelj ovisnosti / paketa koji se dobiva iz okvira kada instalirate Node.js. Omogućuje programerima da instaliraju pakete i globalno i lokalno.

Ponekad biste mogli pogledati određeni paket i isprobati neke naredbe. Ali to ne možete učiniti bez instaliranja ovisnosti u vašu lokalnu node_modulesmapu.

Tu dolazi npx .

U ovom članku ćemo pogledati razlike između NPM i npx i naučiti kako da biste dobili najbolje od oba.

Prvo, shvatimo što je zapravo npm i što s njim možemo učiniti.

npm upravitelja paketa

npm je par stvari. Prvo i najvažnije, to je mrežno spremište za objavljivanje projekata otvorenog koda Node.js.

Drugo, to je CLI alat koji vam pomaže da instalirate te pakete i upravljate njihovim verzijama i ovisnostima. Postoje stotine tisuća knjižnica i aplikacija Node.js na npm-u, a mnoge se dodaju svaki dan.

npm sam po sebi ne pokreće nijedan paket. Ako želite pokrenuti paket pomoću npm-a, morate navesti taj paket u package.jsondatoteci.

Kada se izvršne datoteke instaliraju putem npm paketa, npm stvara veze do njih:

  • lokalne instalacije imaju veze stvorene u ./node_modules/.bin/direktoriju
  • globalna instaliranja imaju veze kreirane iz globalnog bin/direktorija (na primjer: /usr/local/binna Linuxu ili na %AppData%/npmna Windowsima)

Da biste izvršili paket s npm, morate upisati lokalnu stazu, ovako:

$ ./node_modules/.bin/your-package

ili možete pokrenuti lokalno instalirani paket dodavanjem u package.jsondatoteku u odjeljku skripti, poput ovog:

{ "name": "your-application", "version": "1.0.0", "scripts": { "your-package": "your-package" } }

Tada možete pokrenuti skriptu pomoću npm run:

npm run your-package

Možete vidjeti da pokretanje paketa s običnim npm zahtijeva popriličnu ceremoniju.

Srećom, tu npx dobro dođe.

npx pokretač paketa

Od npm verzije 5.2.0 npx je unaprijed upakiran s npm. Dakle, to je danas prilično standard.

npx je također CLI alat čija je svrha olakšati instalaciju i upravljanje ovisnostima hostiranim u npm registru.

Sada je vrlo lako pokrenuti bilo koju izvršnu datoteku temeljenu na Node.js-u koju biste obično instalirali putem npm-a.

Možete pokrenuti sljedeću naredbu da vidite je li već instalirana za vašu trenutnu verziju npm:

$ which npx

Ako nije, možete ga instalirati ovako:

$ npm install -g npx

Jednom kada se uvjerite da je instaliran, pogledajmo nekoliko slučajeva korištenja koji čine npx izuzetno korisnim.

Lako pokrenite lokalno instalirani paket

Ako želite izvršiti lokalno instalirani paket, sve što trebate je utipkati:

$ npx your-package

npx će provjeriti postoji li ili postoji u $PATHlokalnim binarnim datotekama projekta, ili ako postoji, izvršit će ga.

Izvršite pakete koji nisu prethodno instalirani

Još jedna velika prednost je mogućnost izvršavanja paketa koji prethodno nije bio instaliran.

Ponekad samo želite koristiti neke CLI alate, ali ih ne želite instalirati globalno samo da biste ih testirali. To znači da možete uštedjeti malo prostora na disku i jednostavno ih pokrenuti samo kad vam zatrebaju. To također znači da će vaše globalne varijable biti manje zagađene.

Pokrenite kôd izravno s GitHub-a

execute-gist-script-with-npx

Ovaj je prilično lijep.

Možete koristiti npx za pokretanje bilo koje GitHub liste i spremišta. Usredotočimo se na izvršavanje GitHub suštine jer ga je lakše stvoriti.

Najosnovnija skripta sastoji se od glavne JS datoteke i a package.json. Nakon što postavite datoteke, sve što morate učiniti je pokrenuti npx s vezom do te suštine, kao što je prikazano na gornjoj slici.

Ovdje možete pronaći kod koji sam koristio za ovaj primjer.

Svakako pažljivo pročitajte bilo koju skriptu prije nego što je izvršite kako biste izbjegli ozbiljne probleme koji se mogu pojaviti zbog zlonamjernog koda.

Testirajte različite verzije paketa

npx izuzetno olakšava testiranje različitih verzija Node.js paketa ili modula. Da bismo testirali ovu sjajnu značajku, lokalno ćemo instalirati create-react-apppaket i testirati nadolazeću verziju.

Ovo će navesti neke dist oznake pri kraju izlaza. Oznake Dist pružaju pseudonime za brojeve verzija što ga čini puno lakšim za tipkanje.

$ npm v create-react-app
create-reakcija-app-dist-oznake

Upotrijebimo npx da isprobamo nextdist oznaku create-react-appkoja će stvoriti aplikaciju unutar direktorija pješčanika.

$ npx [email protected] sandbox

npx će privremeno instalirati sljedeću verziju create-react-app, a zatim će izvršiti skeniranje aplikacije i instaliranje njezinih ovisnosti.

Jednom instalirani, do aplikacije možemo doći ovako:

$ cd sandbox

a zatim ga pokrenite ovom naredbom:

$ npm start
create-reagirajte-app-npx-sljedeća verzija

Automatski će otvoriti aplikaciju React u vašem zadanom prozoru preglednika.

Sada imamo aplikaciju koja radi na sljedećoj verziji create-react-apppaketa!

indeks-stranica-reagiraj-aplikacija

Zaključak

npx nam pomaže izbjeći verzije, probleme s ovisnošću i instaliranje nepotrebnih paketa koje samo želimo isprobati.

Također pruža jasan i jednostavan način izvršavanja paketa, naredbi, modula, pa čak i GitHub-ovih lista i spremišta.

Ako prije niste koristili npx, sada je pravo vrijeme za početak!

Ovo je izvorno objavljeno na mom blogu.

Možete me kontaktirati i pitati bilo što na Twitteru i Facebooku.