Så här installerar du NPM och Bower

Vi brukar använda tredjepartspaket i webbdesignprojekt.

Vi laddar in CSS från tredje part från projekt som Bootstrap and Foundation, och skript som jQuery och Modernizr. Vi använder allt fler även tredjepartspaket som en del av utvecklingsprocesser, som kompilatorer för CSS-förprocessorer eller kodrengörings- och komprimeringsverktyg för att maximera den hastighet våra webbplatser laddar och kör på.

Att hantera alla dessa paket kan snabbt bli en röra för manuell nedladdning, filöverföring och uppdatering. Visst, vi har gjort det till jobbet, men det är tidskrävande och dess oförmåga lämnar ofta projekt med föråldrad kod. Nu finns det ett bättre sätt att använda kommandoradsdrivna pakethanterare.

I den här handledningen lär du dig hur du gör hantering av tredjepartspaket en fråga om att bara skriva en handfull två till fem ordkommandon.

Notera: Om du inte har följt den första handledningen i den här serien, ta hand om grunderna, hittar du det bra att gå igenom det innan du börjar här.

De "Big Two" -paketförvaltarna

För att komma igång med att använda kommandoraden för att hantera tredjepartspaket, är det första du behöver "pakethanteringssystem" eller "pakethanterare". De två alternativen som är den mest populära bland webbdesigners just nu är npm och Bower, och det är de system du lär dig att använda idag.

npm (via Node.js)

Du kanske har hört talas om Node.js, en JavaScript-baserad väska med godis som kan driva allt från bloggplattformar, till kodning av IDE, till mediecentraler till hela operativsystem.

Tillsammans med en installation av Node.js kommer pakethanteraren npm, ett oerhört användbart system som du ser att utnyttjas ofta i hela serien.

I motsats till vad du kanske tror, ​​gör npm det inte står för "Node Package Manager." Officiellt står det för "Npm är inte en akronym" och på toppen av sidan ser du små skämt kommer upp varje uppdatering som "aldrig poke apor" och "newts parading majestätiskt."

Från och med nu tillhandahåller npm tillgång till och hantering för 127.664 paket som är utformade för alla olika typer av ändamål. Bland de artiklar som är användbara för webbdesign hittar du paket som:

  • Nål
  • nod-sass
  • MINDRE
  • Jade
  • UglifyJS
  • Lövsal
  • Grymta
  • Klunk
  • Hemmansägare
  • Autoprefixer
  • BrowserSync
  • Foundation CLI
  • UglifyJS
  • ren css
  • Jeet.gs
  • Kouto Swiss

I denna handledning används vi med npm i kombination med Node.js, men det är en självständig enhet som kan användas med andra system som den nyanlända IO.js.

Som nybörjare rekommenderar jag att du följer med handledningarna med Node.js, men du kanske vill utforska andra alternativ senare.

Lövsal

Min introduktion till att använda kommandoraden för pakethantering från tredje part kom faktiskt via Bower. Någon tippade mig till det genom att bara säga

"Har du provat Bower? Det är jättebra!"

Jag hade ingen aning om vad den skulle användas till, så jag gick till www.bower.io och en titt på listan över tillgängliga paket var allt som krävdes för att glödlampan skulle börja gå ut.

Bower paketbiblioteket innehåller saker som:

  • bootstrap
  • AngularJS
  • jQuery
  • Typsnitt Awesome
  • HTML5 Boilerplate
  • Animate.css
  • Normalize.css
  • Modernizr
  • UNDERSTRYKNING
  • Platt UI
  • jQuery UI
  • styre
  • Murverk

Chansen är mycket hög. Du använder regelbundet minst en eller två av dessa paket i dina projekt. Bower gör det snabbare och enklare för dig att fortsätta göra det.

När ska du använda Bower vs npm

I vissa fall kan du hitta ett paket tillgängligt på både npm och Bower. Om så är fallet, vilken version ska du använda?

Båda dessa alternativ kommer att installera och uppdatera paket lika snabbt som varandra. Det finns inga hårda och snabba regler att använda, och i sista hand utvecklar du din egen sätt att göra saker, så jag ska bara ge dig en allmän tumregel du kan basera dina beslut på för nu.

Från ett webbdesignperspektiv beror skillnaden verkligen på hur du kommer att använda paketen, och de två typiska användningsfallen du kommer ha är för frontendisposition vs. utvecklingsanvändning.

Bower är utformad för pakethantering i fronten, så välj det om du letar efter något som kommer att förbrukas av besökare via en webbläsare.

Å andra sidan är npm-paketet valet att gå med om du bara ska använda ett paket som en del av din utvecklingsprocess och det kommer inte att ingå i den färdiga produkten.

Installera npm och Bower

Installera Node.js och npm

Tack och lov är installationen npm ganska rakt framåt eftersom den är bunden med installationsprogrammet för Node.js. Gå över till http://www.nodejs.org och ladda ner installationsprogrammet för din plattform. Installera det på din maskin och npm kommer att installeras tillsammans med det, så är det bra att fortsätta.

Viktig! Även om du redan har Node.js installerat på ditt system, följ steget ovan för att se till att du har den senaste versionen. Om du kör en gammal version, kanske några av de steg du måste följa när du går igenom den här serien kanske inte fungerar.

Uppdatera npm

Enligt npm-webbplatsen är sannolikheten att det finns en senare version av npm tillgänglig än den du får med din Node.js-installation.

För att vara säker på att du är på den senaste versionen kör:

[sudo] npm installera npm -g

Installera Git / MsysGit

Git, tillsammans med Node.js och npm, är en förutsättning för att använda Bower. Git är också en förutsättning för några av de andra webbdesign-orienterade paket som du finner att du vill använda, så låt oss få allt allt kvadrerat på ditt system innan du går vidare.

För OSX-användare

För OSX-användare vill du gå till huvudwebbplatsen Git, ta det binära installationsprogrammet och köra det som du skulle något annat appinstallatör: http://git-scm.com/download/mac

För Windows-användare

För att kunna använda Bower på Windows behöver du istället en specifik version av Git för Windows som heter msysGit. Slå Ladda ner knappen och ta tag i den körbara installationsprogrammet, men kör det inte ännu: http://msysgit.github.io

Anledningen till att jag sa att jag inte skulle installera den är att du måste vara försiktig med att välja rätt inställning när du kör installationsprogrammet. När du ser skärmen nedan, var noga med att kontrollera Kör Git från Windows Command Prompt.

För mer information om hur du installerar msysGit som en förutsättning för Bower, se: En anteckning för Windows-användare.

Installera Bower

Bower kan installeras via npm genom att köra detta kommando:

[sudo] npm installera -g bower

Mac-användare, eftersom vi använder -g flagga för att installera Bower globalt kommer ihåg att du kommer att behöva inkludera sudo i början av kommandot, ange sedan ditt lösenord när du blir ombedd.

Grunderna för npm och Bower

Initiera ett projekt

Både npm och Bower arbetar med specialiserade manifestfiler som innehåller information om ett projekt och en lista över paket som den använder. Med npm-projekt namnges filen "package.json" och i Bower-projekt heter den "bower.json". Det enklaste sättet att skapa dessa filer är att använda i det kommando i samband med varje. Låt oss göra det nu.

Via npm

Med din terminal pekade på ditt projekts rotmall, kör det här kommandot:

npm init

Detta kommer att ställa dig en rad frågor du kan svara inom terminalen, vilket ger informationen din "package.json" -fil kommer att skapas från.

Läs mer om npm init kommando på: https://docs.npmjs.com/cli/init

Via Bower

Återigen, med din terminal pekad på projektets rotmapp, kör det här kommandot:

bower init

Precis som med npm-initieringsprocessen svarar du på en rad frågor, och dina svar kommer att bilda din "bower.json" -fil.

Läs mer om bower init kommando på: http://bower.io/docs/creating-packages/#bowerjson

Söker efter paket

Med projektet initierat är du redo att börja sätta in paket. För att göra detta måste du hitta de paket du vill använda via antingen npm eller Bower.

Du måste söka på rätt plats eftersom du behöver veta paketets korrekta namn inom npm- eller Bower-ekosystemen för att kunna installera och uppdatera det.

Via npm

Du kan söka efter paket som du vill använda med npm via sökfältet högst upp på sin hemsida.

Det är också möjligt att söka direkt via kommandoraden med npm-sökning , men jag tycker personligen det lättare att hitta det jag söker direkt på npm-sidan.

När du hittar paketet du vill använda, notera paketets namn.

Via Bower

Söka efter Bower-paket kan göras via http://bower.io/search/.

Som med npm, notera det paketnamn du vill använda när du har hittat det.

Installera nya paket

När du har hittat ett paket du vill använda är du redo att installera det. Här använder du det paketnamn du noterade. I nedanstående anvisningar, använd det namnet vart du ser i ett kommando.

Via npm

För att installera ett paket lokalt, dvs bara i din projektmapp, kör:

npm installera 

Paketet laddas ned i en undermapp med namnet "node_modules", vilket gör det tillgängligt för användning inom ditt projekt. Till exempel:

Förutom att installera paket lokalt finns det också möjlighet att installera npm-paket globalt.

Lokalt installerade paket är endast tillgängliga för användning inom ramen för ditt projekt, men globalt installerade paket kan användas var som helst på din maskin. Till exempel, när "mindre" paketet är installerat globalt kan du använda det för att kompilera något ".löst" dokument, var som helst i ditt system.

För att globalt installera ett paket bifogar du -g flagga till ditt kommando:

[sudo] npm installera  -g

Via Bower

Installationsprocessen för Bower-paket är nästan exakt samma som med npm, med kommandot:

bower installation 

Skillnaden är att Bower-paket placeras i en undermapp med namnet "bower_components", till exempel:

Eftersom du använder Bower för att distribuera frontendepaket inom specifika projekt kan alla dina installationer ske lokalt, så du behöver inte använda -g flagga.

Arbeta med beroende

Om du är intresserad av att dela eller till och med bara kopiera och flytta runt ett projekt som du har använt npm eller Bower in, är beroendehantering en bra sak att veta om. Låt mig förklara varför.

Du kommer återkalla de manifestfiler du skapade tidigare; "Package.json" och "bower.json". I alla dessa filer kan du lägga till en lista över paket som ditt projekt beror på.

Du har redan sett hur npm-paket går in i en mapp med namnet "npm_modules" och Bower's till "bower_components". Tja, det snygga är att om du vill dela med dig av ditt projekt kan du helt släppa bort båda dessa mappar, så länge du har dina beroenden listade i dina manifestfiler.

Det här kan enkelt spara dig ett par hundra megabyte eller så, vilket gör det mycket lättare att flytta ditt projekt runt.

När någon annan får tag på ditt projekt kan de springa npm installera och alla paket som anges i filen "package.json" kommer automatiskt hämtas till en ny mapp "npm_modules".

Likaså kommandot bower installation kommer automatiskt ladda ner eventuella beroenden som anges i filen "bower.json" och placera dem i en ny mapp "bower_components".

Produktion och utveckling beroende

Det finns två typer av beroenden:

  1. Produktionsberoende - i samband med webbdesign hänvisar detta till paket som kommer att distribueras i frontänden, t.ex. Modernizr för cross-browser kompatibilitet.

  2. Utvecklingsberoende - i samband med webbdesign hänvisar detta till paket som används under utveckling, t.ex. MINDER för .lös filsamling.

Bower och npm låter dig ange produktions- och utvecklingsberoende. Men som vi diskuterade tidigare använder du Bower för frontendepaket och npm för utvecklingspaket. Som sådan ställer vi in ​​dina Bower-paket för att vara produktionsberoende, och dina npm-moduler är utvecklingsberoende.

Metoden för inställning av beroenden är densamma i både npm och Bower, och det är att lägga till en flagga i kommandot du använder för att installera ett paket.

Installera som utvecklingsberoende

För att ange ett paket som utvecklingsberoende lägg till --spara-dev flagga, t.ex..

npm installera  --spara-dev

Paketet kommer installeras på samma sätt som du redan har sett, men det läggs till i listan över devDependencies i din "package.json" -fil som så:

Installera som produktionsberoende

För att ställa in ett paket som ett produktionsberoende lägg till --spara flagga, t.ex..

bower installation  --spara

I detta fall kommer paketet att läggas till i listan över beroenden i "bower." filen som så:

Notera: När du installerar npm-paket globalt med -g flagga, du behöver inte oroa dig för att använda heller --spara inte heller --spara-dev flaggor.

Uppdatering av paket

Uppdatering av paket är också ett kommandot för både Bower och npm.

Via npm

För lokalt installerade paket, kör följande kommando i rotmappen i ditt projekt där din "node_modules" -mapp är:

npm uppdatering 

För att istället uppdatera globalt installerade paket lägg till -g flagga:

[sudo] npm uppdatering  -g

Du kan också lämna paketets namn så att du kan batch uppdatera alla dina paket samtidigt.

För att uppdatera alla paket i ett visst projekt, peka din terminal i sin rotmapp och kör:

npm uppdatering

Och för att uppdatera alla dina globalt installerade paket kör:

[sudo] npm uppdatering -g

Via Bower

Uppdatering av Bower-paket är i huvudsak samma som med npm. Från root-mappen till ditt projekt kör den här som innehåller din "bower_components" -mapp:

bower uppdatering 

Den senaste versionen hämtas automatiskt och läggs till i mappen "bower_components".

Använda npm och Bower-paket

När du har installerat dina paket, vill du noga veta hur du faktiskt kan använda dem, rätt?

Med Bower-paket kan processen vara densamma som du skulle använda för att dra in tillgångar normalt, dvs via manus eller länk element i din HTML, ladda filer direkt från mappen "bower_components".

Men det här är inte optimalt och det finns bättre sätt att gå om det. Till exempel kan du slå samman alla JS-filer du använder från dina Bower-paket till en komprimerad fil och ladda den istället.

Du får se en demonstration av hur du ska gå till det här i den kommande handledningen Automation with Task Runners.

Paket installerade via npm kommer vanligen att användas via kommandorads- eller uppgiftslöpningsskript.

Olika paket har sin egen uppsättning inbyggda kommandon som du kan använda för alla slags olika uppgifter som kompilering, komprimering, kombinering och mer. Dessa paketspecifika uppgifter kan i sin tur automatiseras genom att konfigurera uppgiftslöpare för att utföra flera uppgifter samtidigt.

Du lär dig hur du använder npm-paket på båda dessa sätt under de efterföljande handledningarna i den här serien.

I nästa handledning

När vi kommer fram nästa går vi igenom hur du kan utnyttja kommandoraden för att lägga till ett helt nytt effektivitetslag till din främre kod, både i hur du utvecklar den och hur den körs en gång klar.

Du lär dig hur du använder kommandoraden för preprocessor-kompilering, CSS autoprefixing, JS och CSS-filoptimering och kompilering för HTML-shorthand och templerande.

Jag kommer se dig i nästa handledning, Driva upp förra ändkod.