Etikettarkiv: npm

Silly programmer, JavaScript is for the browser!

Eller… Kanske inte längre.

Jag kom­mer ihåg när jag bör­jade med mer webb-fokuserad pro­gram­me­ring. Jag skrev i Java­Script, och lyc­ka­des slut­li­gen hitta en bok som hand­lade om (drum­roll ple­ase…) AJAX! Kom­mer ni ihåg det? Det var innan jQuery, innan explo­sio­nen som ledde till Face­books vackra GUI, innan det så-kallade Web 2.0.

Förra vec­kan bör­jade jag expe­ri­men­tera med Ember JS, ett MVC-ramverk för Java­Script vil­ket använ­der Hand­le­bars JS för mall­han­te­ring. Ni kom­mer höra bra myc­ket mer om Ember senare (kanske en hel del svä­rord, jag och Ember kom­mer inte helt över­ens: Hon är ju så snygg, men tyvärr har hon en ten­dens att tycka att man borde veta vad man gjorde för fel), men i det här inläg­get tänkte jag gå in på verk­tyg som använ­der Node JS, en platt­form för att skapa nätverksapplikationer.

Instal­le­ring

Notera: Jag använ­der Ubuntu som utveck­lings­miljö. 12.10 hemma och lap­top, och 12.04 på job­bet, så all­ting är base­rat på detta system. Myc­ket går nog att använda i andra system som base­ras på *nix, men Win­dow­san­vän­dare kom­mer tyvärr att behöva hitta sina egna installationsinstruktioner.

Först en quick “got­cha” som slog mig när jag bör­jade följa instruk­tio­nerna i Ghost TXs inlägg från i april:

sudo apt-get install build-essential

Du behö­ver ha build-essential för att kunna bygga ver­sions­han­te­ra­ren som vi ska använda, eftersom den behö­ver en C++ (eller lik­nande) kompilator.

Nästa steg är att instal­lera ett hjälp­pro­gram som kan hålla reda på flera olika ver­sio­ner av Node. Detta kan vara myc­ket vik­tigt eftersom det finns verk­tyg som inte stö­der de nyaste ver­sio­nerna. Det finns flera ver­sio­ner, men jag hit­tade NVM av Cre­a­tio­nix, och ser ingen orsak att byta bort från den.

NVM lig­ger på Git­hub, så för att hämta filerna behö­ver du instal­lera Git.

cd ~ #För att hamna tillbaka i hemmappen
git clone git://github.com/creationix/nvm.git ~/.nvm #Klonar repositoriet till mappen
. ~/.nvm/nvm.sh #Ser till att den öppna terminalen hittar nvm
echo '[[ -s "$HOME/.nvm/nvm.sh" ]] && source "$HOME/.nvm/nvm.sh"' >> ~/.bashrc #Lägger till i .bashrc att nvm ska laddas. Beroende på OS kan det vara den eller .bash_login
. ~/.bashrc #"laddar om" .bashrc
nvm install v0.8.15 #Eller vilken version du nu vill använda
nvm alias default 0.8.15

Så kom­mer NPM, vil­ket är Nodes Pac­kage Mana­ger. Detta kom­mando ska köras i hem­map­pen:

curl https://npmjs.org/install.sh | sh

En snabb “got­cha”: npm install <modul> instal­le­rar modu­len lokalt. npm install -g <modul> instal­le­rar den glo­balt. Om du läg­ger till sudo fram­för kom­man­dot så blir det senare svårt att använda det, åtminstone enligt vad jag har märkt.

Ett bra kom­mando för npm: npm list. Med –g swit­chen visar den glo­bala modu­ler instal­le­rade, utan visar den lokala modu­ler installerade.

Eftersom inläg­get blev längre än jag tänkt (…och min blog gick pre­cis sön­der O.o) så kom­mer fort­sätt­ningen med Grunt senare.