2. februar 2012 – Af Lee Jacobson

Introduktion

Dette er den første del i en serie af tutorials, som jeg vil skrive om Node.js. Jeg bør gøre det klart, at jeg ikke er nogen ekspert i Node.js, men en god måde at kontrollere, at du forstår noget, er at forsøge at forklare det til en anden. Hvis du ser noget, som du ikke synes er helt rigtigt, så lad mig det vide, så jeg kan rette fejlen, jeg vil sørge for at give dig kredit.
Jeg besluttede mig for nylig for at lære Node.js på grund af dets stigende popularitet. Programmeringsbranchen bevæger sig utroligt hurtigt, og det er farligt at sakke bagud. Det er vigtigt at lære nye sprog, for hvis du ikke gør det, er der stor sandsynlighed for, at du bliver hægtet af og står uden job. Tænk på alle de flash-udviklere, der ikke kan finde noget arbejde længere.
Så lad os begynde med lidt information (blegh!).
Node.js er en server-side version af JavaScript. Det betyder, at alle de ting alle de fede ting ved JavaScript gælder her. Det betyder også, at hvis du allerede er ret fortrolig med JavaScript, så har du en fin fordel. Node.js er kun få år gammel, og det betyder, at selv de folk, der har arbejdet med det fra starten, kun har brugt det i få år. Sammenlign det med hvor længe nogle mennesker har skrevet i C. Da det er så nyt et sprog betyder det også at der ikke er mange mennesker derude der kender det og det betyder ud fra den simple regel om udbud og efterspørgsel at dine færdigheder er mere værd end din gennemsnitlige PHP-programmør.

Skabelse af Hello World

Lad os skabe en hello world. Gå først over til http://www.nodejs.org og download node.js. Når den er installeret og klar, opretter du en ny JavaScript-fil med følgende:

console.log(“Hello World”);

Spar nu filen, kald den noget i retning af “hello.js” og kør den med følgende kommando:

node hello.js

Så skulle du få “Hello World” vist i din terminal. Det er alt sammen godt, men jeg er sikker på, at det er vigtigere, at du vil vide, hvordan du udskriver ‘Hello World’ til nye HTTP-forbindelser.
Åbn igen din teksteditor, og skriv:
Spar nu din fil, og kør den med:

node hello.js

Du skulle se ‘Server startet’ i terminalen. Godt! Åbn nu din webbrowser og gå til ‘http://localhost:8080’ du skulle se din ‘Hello World’-meddelelse.
Lad os se nærmere på vores kode.
Den første linje henter bare http-modulet og gemmer det til variablen ‘http’. http er inkluderet med Node.js for at gøre det nemt for os at oprette Node.js applikationer.
Vi kan derefter bruge http-modulet til at oprette vores http-server ved at kalde dens funktion ‘createServer’. Denne funktion returnerer et objekt og tager en funktion i en parameter.

Vi kalder funktionen ‘listen’ på vores nye serverobjekt, som tager en numerisk værdi ind, der fortæller vores server, hvilken port vi ønsker, at den skal lytte på. I vores tilfælde bruger vi port 8080, hvilket er grunden til, at vi har tilsluttet vores browser til http://localhost:8080
Vi opretter også en funktion og bruger den som parameter for funktionen ‘createServer’. Dette er en ganske almindelig ting at gøre i JavaScript, fordi funktioner kan være parametre ligesom variabler og objekter kan være det. Det, der kommer til at ske, er, at hver gang vores server modtager og ny forbindelse på port 8080, vil den køre vores funktion, som vi gav den. Interessant nok kaldes den funktion, som vi giver den, for en anonym funktion, og den hedder sådan, fordi vi ikke giver den et navn.
Du har måske bemærket, at vores anonyme funktion tager to parametre, ‘request’ og ‘response’. Disse parametre bliver sendt til vores anonyme funktion af HTTP-serveren, når den modtager en ny forbindelse. De er begge objekter, som vi kan bruge i vores svar på den indkommende anmodning.
Du har bemærket, at det første, vi gør, er at kalde funktionen ‘writeHead’ Dette lader os indstille HTTP-status som den første parameter og sende nogle svarheadere som den anden parameter. Vi indstiller statuskode 200, som fortæller vores webbrowser, at alt er OK, og vi sender også en ‘Content-Type’-overskrift til den, som fortæller vores browser, hvad vi sender den. I vores tilfælde er det bare almindelig tekst.
Næste vi bruger svarobjektet til at skrive vores “Hello World”. Det gør vi ved simpelthen at kalde dets write-funktion og sende den vores tekst. På dette tidspunkt er vi færdige med vores svar, så vi fortæller det til responsobjektet ved at kalde dets ‘end’-funktion.

Makke vores svar mere interessant

Hello world er ret kedeligt, så lad os lave noget lidt mere underholdende. Vi kan meget nemt lave en brugertæller i Node.js, og vi behøver ikke engang at bruge en database, som vi måske gør i PHP.
Opret en ny JavaScript-fil med navnet ‘counter.js’, og skriv følgende:
Lad os nu køre den med kommandoen:

node counter.js

Når du navigerer din browser til ‘http://localhost:8080’, skulle du nu få en visningstæller.
Bemærk: Du kan se, at tælleren stiger med to for hver anmodning, det skyldes, at din browser anmoder om faviconet fra serveren (http://localhost:8080/favicon.ico).
Du bør også se, at Node.js logger hver anmodning, den modtager, til konsollen.
Den vigtigste ting, vi gør her, er at indstille en ‘userCount’-variabel og øge den ved hver anmodning. Vi skriver derefter ‘userCount’ i svarteksten.
For at gøre det samme i PHP skal du gemme oplysningerne til noget som en tekstfil eller en database.

Denne vejledning er også tilgængelig på kinesisk: http://www.laonan.net/blog/63/
Tak til laonan for oversættelsen

Hvis du kunne lide denne vejledning, så tjek del 2, Node.js for begyndere – Callbacks

Author

Hej, jeg hedder Lee.
Jeg er en udvikler fra Storbritannien, som elsker teknologi og forretning. Her finder du artikler og tutorials om ting, der interesserer mig. Hvis du vil ansætte mig eller vide mere om mig, så gå over på min side om mig

Sociale links

Tags