NodeJS

Čo je NodeJS?

Čo je NodeJS?

V tejto príručke začneme s Node.js. Dozviete sa tu o niektorých z jeho najobľúbenejších funkcií a pokúsite sa motivovať čitateľov, aby si túto skvelú technológiu osvojili pre svoje budúce projekty. Ako nevyhnutný predpoklad je potrebné absolvovať základné znalosti jazyka JavaScript a všeobecných koncepcií programovania, ako sú premenné, dátové typy a funkcie.

JavaScript má zvláštnu históriu. Začalo to ako ľahký skriptovací jazyk pre webové prehliadače a považovali sme ho skôr za „hračku“ ako za vážny programovací jazyk. Ale už dávno prerástol svoj skromný začiatok.

Ľudia začali rozširovať svoje schopnosti, keď Google otvoril tlmočník JavaScriptu Chrome - motor V8. Uzol.js prevezme tento modul JavaScript a rozšíri ho tak, aby pracoval mimo sféry prehľadávača. Uzol.js viaže JavaScript s API vášho operačného systému, aby mohol natívne bežať na serveri (alebo v prípade vývojára na jeho pracovnej ploche). Áno, to znamená, že môžete implementovať aplikácie na strane servera, desktopové aplikácie a back-end mechanizmy tak, že sa naučíte iba jeden jazyk - JavaScript.

Jednoducho povedané, môžete písať .js súbory, ktoré obsahujú programy napísané v syntaxi JavaScriptu, ktoré Node interpretuje.js v podstate rovnakým spôsobom ako .py súbory s platnou syntaxou sú interpretované / vykonávané interpretom pythonu.

Je to však viac než len znalosť jazyka, Node.js má neznáme moduly a koncepty, ktoré by vyžadovali trpezlivosť v nekonečnom cykle učenia sa nových konceptov. Má vlastného správcu balíkov (npm), správcu verzií (nvm) a najväčší register balíkov na svete. Buďte si istí, že počiatočné ťažkosti vám z dlhodobého hľadiska uľahčia život.

Inštalácia

V súčasnosti existujú dve možnosti pre Node.verzie js, ktoré by ste možno mali zvážiť.

Budeme sa držať verzie LTS. Stiahnutie Node z oficiálnej stránky pre váš operačný systém by tiež nainštalovalo Node Package Manager (npm). Je ťažké hovoriť o Node.js bez toho, aby som sa dostal do npm. Neskôr sa vrátime k správcovi balíkov. Ak používate Ubuntu alebo inú distribúciu Debianu, jednoducho použite:

$ sudo apt nainštalovať nodejs

Všetky binárne súbory a zdrojový kód nájdete na oficiálnej stránke na stiahnutie.

To je všetko s inštaláciou, čas povedať: „Dobrý deň, svet!“

Dobrý deň, svet! A vytvorenie servera

Ako sme sľúbili, vytvoríme Ahoj.js súbor a spustite ho pomocou uzla. V súbore obyčajného textu s názvom Ahoj.js, napíšeme nasledujúci riadok:

konzola.denník („Dobrý deň, svet!“);

Teraz uložte súbor a otvorte terminál v rovnakom adresári ako tento súbor a spustite nasledujúci príkaz:

$ uzol ahoj.js
# Alebo môžeš bežať
$ uzol ahoj

Takto získate požadovaný výstup z „Ahoj, svet“. Rovnako ako vanilkový JavaScript. Ale určite môžeme urobiť lepšie ..

Na rozdiel od aplikácií založených na PHP, ktoré na svoje fungovanie vyžadujú Apache alebo Nginx alebo iný program webového servera, v uzle si píšeme vlastné http trasy, konfigurujeme porty a názvy hostiteľov a spracovávame požiadavky HTTP, aby sme mohli odpovedať zodpovedajúcim spôsobom.

Znie to ako veľa práce, ale je to iba počiatočná prekážka v procese učenia sa. Akonáhle sa dostanete na kĺb, budete schopní porozumieť webovým aplikáciám vo väčšej hĺbke ako kedykoľvek predtým. Vytvorme webový server, ktorý počúva na porte 3000 na localhost a ako odpoveď vráti textový súbor. Vytvorte súbor aplikácia.js s nasledujúcim obsahom:

const http = require ('http');
const hostname = '127.0.0.1 ';
konštantný port = 3000;
const server = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.koniec ('Hello World \ n');
);
server.počúvať (port, názov hostiteľa, () =>
konzola.log ('Server bežiaci na http: // $ hostname: $ port /');
);

Predtým, ako sa dostaneme k podrobnostiam kódu, uložte tento súbor a otvorte terminál v rovnakom adresári ako súbor, potom spustite:

$ uzol app

Týmto sa vykoná obsah súboru aplikácia.js súboru a dostanete výstup nasledovne:

Otvorte webový prehliadač a navštívte stránku http: // localhost: 3000 / alebo http: // 127.0.0.1: 3000 /, aby sa v okne prehliadača zobrazil jednoduchý text Hello World.

Čo sme teda práve urobili? No, pokiaľ ovládate JavaScript, pravdepodobne budete mať zmysel pre niektoré z nich ..

The prvá línia importuje modul http, ktorý je zabudovaným modulom dodávaným s Node a pomáha nám načúvať požiadavky na webových zásuvkách, spracovávať žiadosti http a odpovedať zodpovedajúcim spôsobom.

The druhý a tretí riadok nastavuje meno hosťa do „127.0.0.1 ' a prístav  do 3 000. To znamená, že môžeme premennú naďalej používať meno hosťa a prístav, namiesto vypisovania celej adresy IP. Neskôr, keď ho skutočne nasadzujete na server, nahradíte ho IP adresou servera a číslom portu ako 80 alebo 443, ak ide o webový server. Kľúčové slovo konšt zaisťuje, že premennú nie je možné zmeniť inde v programe.

The riadky štyri až osem  vytvorí objekt servera, ktorý vezme požiadavku ako požiadavka a dáva odpoveď ako res.

Odpoveď má pre ňu atribút statusCode, res.statusCode ktorá je nastavená na 200, čo klient interpretuje ako stav „Dobre“. Chybové kódy sú 400 a 500, napríklad Chyba 404 je kód zdroja, ktorý sa nenašiel. Podobne je atribút setHeader nastavený na „text / plain“, čo znamená, že klient dostane obyčajný text. Môžete to nastaviť na HTML a váš prehliadač vykreslí akýkoľvek platný html, na ktorý server odpovie. A koniec atribút je jednoducho text, ktorý chceme vrátiť. Skutočné aplikácie nebudú mať reťazec, ale budú mať aj statický súbor HTML alebo iný .js súbor pre prehliadač klienta, čo by predstavovalo oveľa užitočnejšiu odpoveď.

Nakoniec posledné tri riadky spustí server a vytlačí správu, že je aktívny na konkrétnom názve hostiteľa a čísle portu nastavenom serverom konšt spočiatku vyhlásenia. Zakaždým, keď na zadaný názov hostiteľa príde nová žiadosť: server kombinácie portov odpovie vhodným spôsobom odpoveď objekt.

Čo z toho vyplýva?

Vyššie uvedenému kódu nemusíte rozumieť ako celok, aby ste poznali jeho dôsledky. Už máme front-end JavaScript vďaka úžasným frameworkom ako Angular a React. Spolu s tým máme do Uzla zapečatené aj back-endové funkcie.étos js.

Webové rámce ako Express.js vám môže pomôcť napísať na Node ešte zložitejšiu aplikáciu.js. Načítanie údajov z databázy, vytváranie rozhraní API a klientske rozhranie frontendu je možné zapisovať pomocou jedného jazyka.

Sila V8

Napriek tomu, že ide o jediný jazyk, stále sa treba veľa učiť. Rôzne rámce a moduly majú rôzne funkčnosti. Existuje množstvo verzií, ktoré je potrebné sledovať. Existuje teda aj iná výhoda používania uzla.js ekosystém.

Jedným z najdôležitejších argumentov na jeho podporu je, že motor V8 má vynikajúcu podporu pre asynchrónne neblokujúce I / O. Čo v podstate znamená, že jeden proces spustený vo vašej systémovej pamäti dokáže spracovať viac prichádzajúcich požiadaviek. To zhruba znamená, že ak sa spracováva jedna požiadavka a prichádza ďalšia, Node má schopnosť začať spracovávať novú požiadavku, aj keď prvá žiadosť ešte nie je ukončená.

Jediný proces, ktorý beží vo vašej pamäti, je zodpovedný za spracovanie všetkých prichádzajúcich požiadaviek. Na rozdiel od aplikácií založených na PHP, ktorý vytvára nový proces pre každú novú prichádzajúcu požiadavku.

Dúfajme, že toto úvodné slovo stačilo na to, aby vás Node motivovalo.js. Dajte nám vedieť, ak chcete získať podrobnejšie návody na podobné témy, a to tak, že nás budete sledovať na stránkach Twitter, Facebook a YouTube.

Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...