NodeJS

Mi a NodeJS?

Mi a NodeJS?

Ebben az oktatóanyagban megkezdjük a Node használatát.js. Ismerje meg a legnépszerűbb funkciókat, és megpróbálja motiválni az olvasókat, hogy ezt a csodálatos technológiát alkalmazzák jövőbeli projektjeikhez. Feltételként csak átmenetileg ismernie kell a JavaScript-et és az általános programozási koncepciókat, például a változókat, az adattípusokat és a függvényeket.

A JavaScript különös történelemmel rendelkezik. Könnyű szkriptnyelvként indult a webböngészők számára, és inkább „játékként” kezelték, mint komoly programozási nyelvként. De régen kinőtte alázatos kezdetét.

Az emberek akkor kezdték kibővíteni képességeit, amikor a Google nyílt forráskódú Chrome JavaScript-tolmács - a V8-as motor. Csomópont.A js átveszi ezt a JavaScript-motort, és kiterjeszti a böngésző tartományán kívülre is. Csomópont.A js összeköti a JavaScriptet az operációs rendszer API-jával, így natív módon futtatható a szerveren (vagy fejlesztő esetén az asztalon). Igen, ez azt jelenti, hogy szerveroldali alkalmazásokat, asztali alkalmazásokat és háttérmechanizmusokat valósíthat meg egyetlen nyelv - a JavaScript - megtanulásával.

Egyszerűen fogalmazva, írhat .js fájlok, amelyek JavaScript szintaxissal írt programokat tartalmaznak, amelyeket a Node értelmezni fog.js nagyjából ugyanúgy, mint .py az érvényes szintaxissal rendelkező fájlokat a python tolmács értelmezi / hajtja végre.

A csomópont azonban nem csak a nyelv ismeretében rejlik.A js-nek vannak olyan ismeretlen moduljai és fogalmai, amelyek türelmet igényelnek az új fogalmak elsajátításának véget nem érő ciklusában. Saját csomagkezelővel (npm), verziókezelővel (nvm) és a világ legnagyobb csomag-nyilvántartásával rendelkezik. Nyugodjon meg, a kezdeti nehézség hosszú távon nagyon megkönnyíti az életét.

Telepítés

Jelenleg két lehetőség van a Node-ra.js verziók, amelyeket érdemes megfontolni.

Ragaszkodunk az LTS verzióhoz. A Node letöltése az operációs rendszer hivatalos oldaláról egyúttal telepíti a Node Package Manager programot is (npm). Node-ról nehéz beszélni.js anélkül, hogy bejutna az npm-be. Később visszatérünk a csomagkezelőhöz. Ha Ubuntut vagy bármely más debian terjesztőt használ, egyszerűen használja:

$ sudo apt install nodejs

Az összes bináris fájl és a forráskód megtekintéséhez látogasson el a hivatalos letöltési oldalra.

Ennyi a telepítés, ideje mondani: „Helló, Világ!”

Helló Világ! És egy szerver létrehozása

Ahogy ígértük, létrehozunk egy Helló.js fájlt, és futtassa a Node segítségével. Egy sima szöveges fájlban, az úgynevezett Helló.js, a következő sort írjuk:

konzol.napló („Hello, Világ!”);

Most mentse el a fájlt, és nyisson meg egy terminált ugyanabban a könyvtárban, mint az a fájl, és futtassa a következő parancsot:

$ node hello.js
# Vagy futhatsz
$ node hello

Ez megadja a kívánt kimenetet "Helló Világ". Csakúgy, mint a vanília JavaScript. De bizonyára jobban tehetünk…

Ellentétben a PHP-alapú alkalmazásokkal, amelyekhez az Apache vagy az Nginx, vagy valamilyen más webkiszolgáló program futtatása szükséges, a csomópontban mi írjuk meg a saját http útvonalunkat, konfiguráljuk a portokat és a hosztneveket, és HTTP kéréseket dolgozunk fel a megfelelő válaszok megadásához.

Nagyon sok munkának hangzik, de ez csak egy kezdeti akadály a tanulási görbében, és ha egyszer beleakad a dolgokba, minden eddiginél nagyobb mélységben fogja tudni megérteni a webalkalmazásokat. Hozzunk létre egy webkiszolgálót, amely meghallgatja a 3000-es portot a localhoston, és válaszként szöveges fájlt ad vissza. Hozzon létre egy fájlt kb.js a következő tartalommal:

const http = igény ('http');
const hosztnév = '127.0.0.1 ';
const port = 3000;
const szerver = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.vége ('Hello World \ n');
);
szerver.hallgat (port, hosztnév, () =>
konzol.napló ('A http: // $ hostname címen futó kiszolgáló: $ port /');
);

Mielőtt belekezdenénk a kód részleteibe, mentsük el ezt a fájlt, és nyissunk meg egy terminált ugyanabban a könyvtárban, mint a fájl, majd futtassuk:

$ node alkalmazás

Ez végrehajtja a kb.js fájlt, és a következő kimenetet kapja:

Nyisson meg egy webböngészőt, és látogasson el a http: // localhost: 3000 / vagy a http: // 127 oldalra.0.0.1: 3000 /, hogy egy egyszerű Hello World szöveget láthasson a böngésző ablakában.

Tehát mit csináltunk? Nos, ha ismeri a JavaScript-et, akkor valószínűleg megértheti valamennyit ..

A első sor behozza a http modult, amely egy beépített modul, amely a Node-mal együtt érkezik, és ez segít nekünk a webaljzatokban meghallgatni a kéréseket, feldolgozni a http kéréseket és megfelelő válaszokat adni.

A második és harmadik vonal beállítja a hostname nak nek „127.0.0.1 ' és kikötő  nak nek 3000. Ez azt jelenti, hogy folyamatosan használhatjuk a változót hostname és kikötő, ahelyett, hogy beírná a teljes IP-címet. Később, amikor ténylegesen egy szerveren telepíti, kicseréli a szerver IP-címére és egy portszámra, például 80 vagy 443, ha webkiszolgáló. A kulcsszó konst biztosítja, hogy a változó nem változtatható meg a program másutt.

A vonalak négy-nyolc  létrehoz egy kiszolgálóobjektumot, amely a kérést mint req és úgy ad választ res.

A válasznak van egy statusCode attribútuma, a res.statusCode amely 200-ra van állítva, amelyet az ügyfél „Oké” állapotként értelmez. A hibakódok például 400 és 500, például a 404 hiba az erőforrás kódja, amely nem található. Hasonlóképpen, a setHeader attribútum értéke „text / plain”, ami azt jelenti, hogy az ügyfél sima szöveget fog kapni. Beállíthatja ezt HTML-re, és a böngészője megjelenít minden érvényes html-t, amellyel a szerver válaszol. És a vége attribútum egyszerűen az a szöveg, amelyet vissza akarunk adni. Ahelyett, hogy itt lenne egy karakterlánc, a valós alkalmazások egy statikus HTML-fájllal rendelkeznek .js fájl az ügyfélböngészőhöz, ami sokkal hasznosabb választ jelentene.

Végül a utolsó három sor elindítja a kiszolgálót, és kinyomtat egy üzenetet, amelyben azt mondja, hogy aktív egy adott állomásnéven és portszámon, amint azt beállította konst nyilatkozatok, kezdetben. Bármikor új kérés érkezik a megadott hosztnévhez: a portkombinációval rendelkező kiszolgáló megfelelő válaszokkal ad választ válasz tárgy.

Amit magában foglal?

A következmények ismeretéhez nem szükséges teljes egészében megértenie a fenti kódot. Már van JavaScript a kezelőfelületen, köszönhetően az olyan fantasztikus keretrendszereknek, mint az Angular és a React. Ezzel együtt a csomópontba sütjük a háttérfunkciókat is.js etosz.

Az olyan webes keretrendszerek, mint az Express.A js segítségével még összetettebb alkalmazásokat írhat a Node tetejére.js. Adatok lekérése az adatbázisból, API-k létrehozása és a kezelőfelület minden egy nyelven írható.

A V8 ereje

Annak ellenére, hogy mindez egyetlen nyelv, még mindig sokat kell tanulni. A különböző keretek és modulok különböző funkcionalitással rendelkeznek. Rengeteg verziót kell nyomon követni. Tehát van-e más előnye a Csomópont használatának.js ökoszisztéma.

Az egyik legfontosabb érv ennek alátámasztására, hogy a V8 motor kiválóan támogatja az aszinkron, nem blokkoló I / O-t. Ami alapvetően azt jelenti, hogy a rendszer memóriájában futó egyetlen folyamat képes kezelni több bejövő kérést. Nagyjából annyit jelent, hogy ha egy kérést feldolgoznak, és újabb kérés érkezik, akkor a Node képes megkezdeni az új kérés feldolgozását, még akkor is, ha a az első kérés még nem fejeződött be.

Ezenkívül a memóriában futó egyetlen folyamat felelős az összes beérkező kérelem kezeléséért. A PHP alapú alkalmazásoktól eltérően, amelyek minden új bejövő kéréshez új folyamatot hoznak létre.

Remélhetőleg ez az intro elegendő volt ahhoz, hogy motiváljon a Node iránt.js. Tudjuk meg, ha részletesebb útmutatásokat szeretne hasonló témákról, követve minket a Twitteren, a Facebookon és a YouTube-on.

HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...
Az AutoKey használata a Linux játékok automatizálásához
Az AutoKey egy asztali automatizáló segédprogram Linux és X11 rendszerekhez, Python 3, GTK és Qt programozással. A parancsfájlok és a MACRO funkcióina...
Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...