2 februari 2012 – Av Lee Jacobson

Introduktion

Detta är den första delen i en serie handledningar som jag vill skriva om Node.js. Jag bör klargöra att jag inte är någon expert på Node.js, men ett bra sätt att kontrollera att man förstår något är att försöka förklara det för någon annan. Om du ser något som du inte tycker är helt rätt, låt mig veta det så att jag kan rätta till misstaget, jag ska se till att ge dig kredit.
Jag bestämde mig nyligen för att lära mig Node.js på grund av dess ökande popularitet. Programmeringsbranschen rör sig otroligt snabbt och det är farligt att hamna på efterkälken. Det är viktigt att lära sig nya språk, för om du inte gör det är det troligt att du kommer att hamna på efterkälken och bli utan jobb. Tänk på alla de flash-utvecklare som inte kan hitta något arbete längre.
Så låt oss börja med lite information (blegh!).
Node.js är en server-side version av JavaScript. Det betyder att alla saker alla de coola sakerna med JavaScript gäller här. Det betyder också att om du redan är ganska bekant med JavaScript kommer du att ha en fin fördel. Node.js är bara några år gammalt och det betyder att även de personer som har arbetat med det från början bara har använt det i några år. Jämför detta med hur länge vissa människor har skrivit i C. Eftersom det är ett så nytt språk betyder det också att det inte finns så många människor där ute som kan det och det betyder att utifrån den enkla regeln om tillgång och efterfrågan är din skicklighet värd mer än en genomsnittlig PHP-programmerare.

Skapande av Hello World

Låt oss skapa en Hello World. Gå först över till http://www.nodejs.org och ladda ner node.js. När den är installerad och klar skapar du en ny JavaScript-fil med följande:

console.log(”Hello World”);

Spara nu filen, kalla den något i stil med ”hello.js” och kör den med följande kommando:

node hello.js

Så bör du få ”Hello World” att visas i din terminal. Det är bra, men jag är säker på att det är viktigare att du vill veta hur man skriver ut ’Hello World’ till nya HTTP-anslutningar.
Öppna upp din textredigerare igen och skriv:
Spara nu filen och kör den med:

node hello.js

Du bör få se ’Server started’ i terminalen. Bra! Öppna nu din webbläsare och gå till ’http://localhost:8080’ du bör se ditt ’Hello World’-meddelande.
Vi tar en närmare titt på vår kod.
Den första raden hämtar bara http-modulen och sparar den i variabeln ’http’. Http ingår i Node.js för att göra det enkelt för oss att skapa Node.js-program.
Vi kan sedan använda http-modulen för att skapa vår http-server genom att anropa dess funktion ’createServer’. Denna funktion returnerar ett objekt och tar en funktion i en parameter.

Vi kallar funktionen ’listen’ på vårt nya serverobjekt som tar in ett numeriskt värde som talar om för vår server vilken port vi vill att den ska lyssna på. I vårt fall använder vi port 8080 vilket är anledningen till att vi anslutit vår webbläsare till http://localhost:8080
Vi skapar också en funktion och använder den som parameter för funktionen ”createServer”. Detta är en ganska vanlig sak att göra i JavaScript eftersom funktioner kan vara parametrar precis som variabler och objekt kan vara det. Vad som kommer att hända är att varje gång vår server tar emot och ny anslutning på port 8080 kommer den att köra vår funktion som vi gav den. Intressant nog kallas funktionen vi skickar till den för en anonym funktion, och den kallas så eftersom vi inte ger den något namn.
Du kanske har lagt märke till att vår anonyma funktion tar två parametrar, ”request” och ”response”. Dessa parametrar skickas till vår anonyma funktion av HTTP-servern när den tar emot en ny anslutning. De är båda objekt som vi kan använda i vårt svar på den inkommande begäran.
Du har märkt att det första vi gör är att anropa funktionen ”writeHead” Detta låter oss ställa in HTTP-statusen som den första parametern och skicka några svarsrubriker som en andra parameter. Vi ställer in statuskoden 200 som talar om för vår webbläsare att allt är OK och vi skickar också ett ”Content-Type”-huvud som låter vår webbläsare veta vad vi skickar. I vårt fall är det bara vanlig text.
Nästan använder vi svarsobjektet för att skriva vårt ”Hello World”. Vi gör detta genom att helt enkelt anropa dess write-funktion och överlämna vår text till den. Vid det här laget är vi klara med vårt svar så vi berättar för responsobjektet genom att anropa dess ”end”-funktion.

Måste göra vårt svar mer intressant

Hello world är ganska tråkigt så låt oss göra något lite mer underhållande. Vi kan skapa en användarräknare väldigt enkelt i Node.js och vi behöver inte ens använda en databas som vi kan göra i PHP.
Skapa en ny JavaScript-fil som heter ”counter.js” och skriv följande:
Nu kör vi den med kommandot,

node counter.js

När du navigerar din webbläsare till ”http://localhost:8080” bör du nu få en vyräknare.
Notera: Du kan se att räknaren ökar med två för varje begäran, detta beror på att din webbläsare begär favicon från servern (http://localhost:8080/favicon.ico).
Du bör också se att Node.js loggar varje begäran som den tar emot till konsolen.
Det viktigaste vi gör här är att ställa in en ’userCount’-variabel och öka den vid varje begäran. Vi skriver sedan ”userCount” i svarstexten.
För att göra samma sak i PHP skulle du behöva spara informationen till något som en textfil eller en databas.

Denna handledning är också tillgänglig på kinesiska: http://www.laonan.net/blog/63/
Tack till laonan för översättningen

Om du gillade den här handledningen så kolla in del 2, Node.js för nybörjare – Callbacks

Författare

Hej, jag heter Lee.
Jag är en utvecklare från Storbritannien som älskar teknik och företag. Här hittar du artiklar och handledningar om saker som intresserar mig. Om du vill anlita mig eller veta mer om mig, gå över till min sida om mig

Sociala länkar

Taggar

.