2012. február 2. – Írta: Lee Jacobson

Bevezetés

Ez az első része annak a tutorial-sorozatnak, amelyet a Node.js-ről szeretnék írni. Egyértelművé kell tennem, hogy nem vagyok a Node.js szakértője, de egy jó módja annak, hogy ellenőrizzük, hogy értünk-e valamit, ha megpróbáljuk elmagyarázni valaki másnak. Ha látsz valamit, ami szerinted nem teljesen helyes, kérlek, szólj, hogy kijavíthassam a hibát, és biztos vagyok benne, hogy meg fogom adni az elismerést.
A közelmúltban döntöttem úgy, hogy megtanulom a Node.js-t a növekvő népszerűsége miatt. A programozási iparág hihetetlenül gyorsan mozog, és veszélyes lemaradni. Az új nyelvek tanulása fontos, mert ha nem tanulsz, akkor valószínűleg lemaradsz, és munkanélküli leszel. Gondoljunk csak azokra a flash fejlesztőkre, akik már nem találnak munkát.
Kezdjük tehát egy kis információval (blegh!).
A Node.js a JavaScript szerveroldali változata. Ez azt jelenti, hogy a JavaScript összes menő dolga itt is érvényes. Ez azt is jelenti, hogy ha már elég jól ismered a JavaScriptet, akkor szép előnyben leszel. A Node.js csak néhány éves, és ez azt jelenti, hogy még azok is, akik a kezdetektől fogva vele dolgoznak, csak néhány éve használják. Hasonlítsd ezt össze azzal, hogy egyesek milyen régóta írnak C nyelven. Mivel ilyen új nyelvről van szó, ez azt is jelenti, hogy nem sokan vannak, akik ismerik, és ez azt jelenti, hogy a kereslet és kínálat egyszerű szabálya alapján a tudásod többet ér, mint egy átlagos PHP programozóé.

Hello World létrehozása

Készítsünk egy Hello Worldöt. Először menjünk át a http://www.nodejs.org oldalra, és töltsük le a node.js-t. Ha telepítettük és kész, hozzunk létre egy új JavaScript fájlt a következővel:

console.log(“Hello World”);

Majd mentsük el a fájlt, nevezzük el valami olyasminek, mint “hello.js”, és futtassuk a következő paranccsal:

node hello.js

Ezután a terminálban meg kell jelenjen a ‘Hello World’. Ez mind jó, de biztos vagyok benne, hogy fontosabb, hogy tudod, hogyan kell kiírni a ‘Hello World’-öt az új HTTP-kapcsolatokra.
Nyisd meg újra a szövegszerkesztődet, és írd be:
Mentse el a fájlt, és futtasd a:

node hello.js

A terminálban a ‘Server started’ parancsot kell látnod. Nagyszerű! Most nyisd meg a webböngésződet, és menj a ‘http://localhost:8080’ oldalra, ahol látnod kell a ‘Hello World’ üzenetet.
Nézzük meg közelebbről a kódunkat.
Az első sorban csak a http modult kapjuk meg, és mentjük el a ‘http’ változóba. A http-t a Node.js tartalmazza, hogy megkönnyítse számunkra a Node.js alkalmazások létrehozását.

Ezután a http modult használhatjuk a http szerverünk létrehozására a ‘createServer’ függvény meghívásával. Ez a függvény egy objektumot ad vissza, és paraméterként egy függvényt vesz fel.
Az új szerver objektumunkon meghívjuk a ‘listen’ függvényt, amely egy numerikus értéket vesz fel, amely megmondja a szerverünknek, hogy milyen porton akarjuk, hogy figyeljen. Esetünkben a 8080-as portot használjuk, ezért csatlakoztattuk a böngészőnket a http://localhost:8080
Egy függvényt is létrehozunk, és paraméterként használjuk a ‘createServer’ függvényhez. Ez eléggé megszokott dolog a JavaScriptben, mivel a függvények éppúgy lehetnek paraméterek, mint a változók és az objektumok. Az fog történni, hogy minden alkalommal, amikor a szerverünk új kapcsolatot kap a 8080-as porton, lefuttatja az általunk megadott függvényt. Érdekes módon a függvényt, amit átadunk neki, anonim függvénynek hívják, és azért hívják így, mert nem adunk neki nevet.
Észrevehetted, hogy az anonim függvényünk két paramétert vesz fel, a ‘request’-et és a ‘response’-t. Ezeket a paramétereket a HTTP-kiszolgáló adja át a névtelen függvényünknek, amikor új kapcsolatot kap. Mindkettő objektum, amelyeket a bejövő kérésre adott válaszunkban használhatunk.
Láthatod, hogy az első dolog, amit csinálunk, az a ‘writeHead’ függvény meghívása, ami lehetővé teszi számunkra a HTTP státusz beállítását első paraméterként, és néhány válasz fejléc elküldését második paraméterként. Beállítjuk a 200-as státuszkódot, ami azt jelenti, hogy a böngészőnknek minden rendben van, és átadunk egy ‘Content-Type’ fejlécet is, ami megadja a böngészőnknek, hogy mit küldünk neki. A mi esetünkben ez csak egyszerű szöveg.
A következő lépésben a válaszobjektumot használjuk a ‘Hello World’ megírására. Ezt úgy tesszük, hogy egyszerűen meghívjuk a write függvényét, és átadjuk neki a szövegünket. Ezen a ponton végeztünk a válaszunkkal, így a válaszobjektumnak az ‘end’ függvény meghívásával szólunk.

A válaszunk érdekesebbé tétele

A Helló világ elég unalmas, ezért csináljunk valami szórakoztatóbbat. A Node.js-ben nagyon egyszerűen létrehozhatunk egy felhasználói számlálót, és még csak adatbázist sem kell használnunk, mint a PHP-ben.
Készítsünk egy új JavaScript fájlt, amelynek a neve: ‘counter.js’, és írjuk be a következőt:
Most futtassuk le a következő paranccsal:

node counter.js

Amikor a böngészőnkben a ‘http://localhost:8080’-re navigálunk, most már egy nézeti számlálót kell kapnunk.
Figyelem: Lehet, hogy a számláló minden egyes kérésnél kettővel nő, ez azért van, mert a böngésző a favicon-t kéri a szervertől (http://localhost:8080/favicon.ico).
Azt is látnod kell, hogy a Node.js minden egyes kapott kérést naplóz a konzolba.
A legfontosabb dolog, amit itt csinálunk, az egy ‘userCount’ változó beállítása és inkrementálása minden egyes kérésnél. Ezután a ‘userCount’ értéket a válasz szövegébe írjuk.
PHP-ben ugyanezt a feladatot egy szöveges fájlba vagy adatbázisba kell elmentenünk.

Ez a bemutató kínai nyelven is elérhető:

Author

Hello, Lee vagyok.
Egy fejlesztő az Egyesült Királyságból, aki szereti a technológiát és az üzletet. Itt cikkeket és útmutatókat találsz az engem érdeklő dolgokról. Ha fel akarsz venni, vagy többet szeretnél tudni rólam, látogass el a rólam szóló oldalamra

Social Links

Tags