Node.js pre začiatočníkov: popis, sprievodca, funkcie

Node.js je implementačné prostredie javascript vložené do verzie motora JS V8 z prehliadača Chrome. Platforma Node.js pre začiatočníkov využíva spravované udalosti, nezablokuje model I /O, čo zjednodušuje a zefektívňuje. Pribalený ekosystém Node.js je najväčší open source ekosystém na svete. Projekt podporuje Nadácia Node.js. Príspevky, pravidlá a problémy sú monitorované v rámci otvoreného modelu riadenia.

Node.js pre začiatočníkov: definícia

Node.js je open source vývojová platforma pre spustenie kódu javascript na strane servera. Uzol je užitočný pri vývoji aplikácií, ktoré vyžadujú trvalé pripojenie z prehliadača na server. Často sa používa v aplikáciách v reálnom čase, ako sú napríklad rozhovory, informačné kanály a push správy.



Node.js je navrhnutý tak, aby pracoval na špecializovanom HTTP serveri a používal jeden stream s jedným procesom na jednotku času. Začiatok Node.js je založený na udalostiach a je vykonávaný asynchrónne. Kód postavený na tejto platforme nezodpovedá tradičnému spôsobu prijímania, spracovania, odosielania, čakania a prijímania. Namiesto toho uzol spracováva prichádzajúce požiadavky v stohu konštantných udalostí, posiela malé požiadavky jeden po druhom a nedostáva odpovede. Node.JS Knihy pre začiatočníkov obsahujú veľa údajov o prechode zo základných modelov, ktoré spúšťajú väčšie, zložité procesy a súčasne spúšťajú viac vlákien. Každý z nich čaká na svoju odpoveď predtýmpresunúť ďalej.


Hlavné Node.js - JavaScript

Uzol na báze JavaScript, a preto pochopenie tejto platformy je možné bez exkurzie do JS. Program Node.js pre začiatočníkov vám poskytne veľa úvodných informácií o programovacom jazyku, na ktorom je platforma založená. javascript - to je interpretované v programovacom jazyku Microsoft alebo v skriptoch Netscape. Je to podobné schopnosti Microsoft Visual Basic, Sun Tcl, Perl z UNIXu a REXX od IBM. Jazykové skriptovacie jazyky jazyka JavaScript sú jednoduchšie a rýchlejšie kódovať, než štruktúrované a kompilované, ako napríklad C a C ++. Skriptovacie jazyky zvyčajne trvajú dlhšie ako kompilácia, ale sú veľmi užitočné pre krátke programy. javascript sa používa na návrh webovej stránky na vykonávanie úloh, ako je napríklad automatická zmena formátovaného dátumu na webovej stránke. To je dôvod, prečo sa prepojená stránka zobrazí v rozbaľovacom okne. Pri zmene textu alebo grafického obrázka javascript používa rovnaké nápady ako Java (kompilované objektovo orientované programovanie, odvodené od C ++).

Charakteristické znaky JS

javascript sa bežne používajú pri vývoji webových aplikácií. Bola pôvodne vyvinutá spoločnosťou Netscape ako nástroj na pridávanie dynamických a interaktívnych prvkov do webových stránok. Hoci javascript závisí od jazyka Java, syntax je viac podobný ako C a je založený na ECMAScript, skriptovacom jazyku vyvinutom spoločnosťou Sun Microsystems. javascript je skriptovací jazyk na strane klienta. To znamená, že zdrojový kód spracováva webový prehliadač klienta, nie webový server. Funkcie sa môžu spustiť po stiahnutí webovej stránky bez toho, aby ste kontaktovali server.Funkcia javascript môže napríklad skontrolovať webový formulár pred jeho odoslaním, aby sa uistili, že všetky povinné polia sú plné. Kód môže zobraziť chybové hlásenie skôr, ako sa na server skutočne odošlú nejaké informácie.
Podobne ako serverové skriptovacie jazyky, ako napríklad PHP a ASP, môže byť kód javascript vložený kdekoľvek na stránke HTML na webe. Hlásenie HTML však zobrazuje iba výstupný kód servera a kód javascript zostáva plne viditeľný v zdroji webovej stránky. Môžete ho nájsť aj v samostatnom súbore .JS, ktorý je možné zobraziť v prehliadači.

Kód vzorky

Nižšie je uvedený príklad základnej funkcie javascript, ktorá pridáva dve čísla. Funkcia sa volá s parametrami 7 a 11. Ak bol kód uvedený nižšie v HTML webovej stránky, zobrazí sa v poli s výstrahou text "18". Funkcie javascriptu je možné nazývať v značkách Popularita aplikácií javascript rýchlo rastie v posledných rokoch a Node.js určite prispieva k tomuto rastu. Ak sa pozrieme na štatistiky, uvidíme, že na svete existuje viac balíkov uzlov než podobné údaje Ruby. Druhý faktor: balíky uzlov rastú rýchlejšie ako Ruby, Python a Java. Čo robí to viac populárne ako Rails a iné alternatívy k Node.JS? Kde začať štúdiu? Samotný uzol je asynchrónna platforma založená na udalosti vytvorenej na základe javascriptového motora Chrome a navrhnutá na vytváranie škálovateľných sieťových aplikácií. Inými slovami, Node.js je javascript plus C /C ++ v spojení so súborovým systémom, spustením serverov HTTP alebo TCP. Uzol je jednosilový a využíva model paralelnosti založený na cykleudalosti. Neblokuje procesy a núti program čakať, ale zaregistruje spätné volanie a umožňuje aplikácii pokračovať v práci. To znamená, že platforma dokáže spracovať paralelné operácie bez viacerých vlákien a efektívne sa rozširuje. Existujú značné rozdiely medzi po sebe nasledujúcimi jazykmi a Node.js:
  • Uzol vám umožňuje vykonávať ďalšie úlohy čakajúce na správu, keď je odpoveď k dispozícii;
  • aplikácia neupravuje dáta do pamäte, ale zobrazuje ju fragmentovane.
  • Aj keď existujú iné slučky udalostí systému (napríklad knižnica EventMachine v Ruby alebo Twisted na Pythone), medzi nimi a uzlom existuje značný rozdiel. V Node.JS boli všetky knižnice navrhnuté od začiatku, aby boli nezablokovateľné, čo sa nedá povedať o iných.

    Možnosti použitia

    Uzol je ideálny pre aplikácie s väzbou I /O, ale nie pre aplikácie s ťažkým procesorom. Skvelým príkladom sú aplikácie v reálnom čase (DIRT), jednostránkové aplikácie, rozhrania JSON API a prúdové aplikácie.

    Uzol (NPM)

    Oficiálny správca paketov uzlov je zodpovedný za väčšinu svojich úspechov s manažérom balíkov, ktorý je dodávaný s ním. Výhody tohto nástroja:
  • určuje závislosti aplikácií lokálne, nie globálne;
  • súčasne spracováva niekoľko verzií toho istého modulu;
  • Môžete špecifikovať tarballs alebo git repositories ako závislosť;
  • Je veľmi jednoduché zverejniť svoj vlastný modul v registri NPM.
  • Inštalácia Node.js

    Pre začiatočníkov existujú oficiálneInštalatéri pre uzol v systéme Windows a OS X tiež poskytovali možnosť inštalovať prostredníctvom správcu balíkov. Na testovanie užívateľského kódu s rôznymi verziami uzlov sa používa NVM (Správca verzie uzlov). Pomocou tohto nástroja môžete použiť viacero verzií lokality nainštalovaných v systéme a ľahko prepínať medzi nimi. V nasledujúcich riadkoch uvidíme, ako nainštalovať NVM do Ubuntu.
    Po prvé, musíme zabezpečiť, aby náš systém má kompilátor C ++: $ sudo apt-get update $ sudo apt-get install build-essential libssl-dev Kedy môžeme skopírovať a vložiť riadok inštalačné jediný pre terminálový NVM : $ curl https://raw.githubusercontent.com/creationix/nvm/v0131/install.sh | hit NVM musí byť správne nainštalovaný, takže opustíme systém a autorunizujeme, aby sme sa uistili, že je všetko správne. Zadajte príkaz: $ nvm Ak pri vstupe nie sú žiadne chyby, znamená to, že všetko je v poriadku. Teraz môžeme prejsť na skutočnú inštaláciu uzla a NPM. Výsledkom príkazového riadku by mal vyzerať takto: $ nvm nainštalovať v01031 ##################################### ############# ################ 1000% Teraz obaja uzol a NPM by mali byť k dispozícii v termináli: $ uzla -v & amp; & amp; & amp; NPM -v v01031 1423 Teraz je potrebné nastaviť predvolený Node.js začať s príkazom v termináli: $ NVM alias štandardne 01,031 môžeme inštalovať iné verzie uzol, rovnako ako predtým, a prepínať medzi nimi pomocou použitia nvm: $ NVM install v0810 Ak neviete, ktoré verzie sú nainštalované vo vašom systéme, stačí zadať nvm-list. Tento nástroj vám ukáže kompletný zoznam, rovnako ako prúd a verziách, napríklad: zoznam $ nvm v063 v0612 v0614 v0619 v077 v078 v079 v086 v0811v0103 v01012 v01015 v01021 v01024 v0119 prúd: v01024 predvolené - & gt; v01024

    Moduly

    Node.JS tutorial pre začiatočníkov Java alebo Python navrhujú použitie funkcie importu na stiahnutie iných knižníc, zatiaľ čo PHP a Ruby to nevyžadujú. Uzol implementuje rozhranie CommonJS pre moduly. Ďalšie varianty si môžete stiahnuť aj pomocou požadovaného kľúčového slova. Možno napríklad budeme potrebovať niektoré z našich vlastných modulov: var http = require ('http'); môže dns = vyžadovať ('dns'); Môžeme tiež zavolať relatívne súbory: var myFile = vyžadovať ('./myFile'); //download myFile.js Ak chcete nainštalovať moduly NPM, vyhľadajte ich na webových stránkach alebo v Github. Syntax pre miestne inštalácie modulu je pomerne jednoduchý: #, kde express === module name $ NPM inštaláciu Express

    spätných volaní

    V asynchrónnym programovanie, nebudeme vracať hodnoty, keď sú spúšťané funkciu, ale namiesto toho použiť rozšírenie prejazdu (CPS). Tento štýl asynchrónneho callback funkcie volania (funkcia normálne odovzdaný ako posledný argument) pre pokračovanie programu po jeho dokončení. Nižšie je uvedený príklad nájdenia adresy IPv4 pre doménu: var dns = require ('dns'); dns.resolve4 ('www.google.com', funkcia (err, adresy) {if (err) hod err, console.log ('adresy:' + JSON.stringify (adresy));}); Predali sme spätné volanie (vložená anonymná funkcia) ako druhý asynchrónny argument dns.resolve4. Akonáhle je funkcia async pripravená, zavolá späť pokračovaním v spúšťaní programu.

    udalosti

    Pokyny pre začiatočníkov Node.js v štandardnom spätné volanie vzoru, ktorý je vhodný preprípady použitia, keď chceme prijať asynchrónne funkcie. Existujú však situácie vyžadujúce oznamovanie rôznych udalostí, ktoré sa vyskytujú súčasne. Pozrime sa na tento príkladový kód s IRC klientom: var irc = require ('irc'); môže klient = nový irc.Client ('irc.freenode.net', 'myIrcBot', {kanály: ['# sample-channel']}); client.on ('chyba', funkcia (správa) {console.error ('chyba:', správa);}); client.on ('connect', funkcia () {console.log ("pripojený k irc serveru");}); client.on ('správa', funkcia (od, do, správy) {console.log (od + '= +' do + ':' + message);}); client.on ('pm', funkcia (z, správa) {console.log (od + '= & gt; ME: + message);}).
    Vo vyššie uvedenom príklade sa zaoberáme troma typmi udalostí:
  • udalosť spojenia sa vydáva, keď klient úspešne pripojí na server IRC;
  • v prípade chyby sa spustí chyba;
  • správy a udalosti pm vybrané pre prichádzajúce správy.
  • Uvedené udalosti robia túto situáciu ideálnym spôsobom na použitie šablóny EventEmitter. Šablóna EventEmitter umožňuje vývojárom uvoľniť udalosť, ktorú si spotrebitelia môžu prihlásiť, ak sa o to zaujímajú. Táto šablóna môže byť oboznámená s prehliadačom, kde sa používa na pripojenie obslužných programov udalostí. Uzol má triedy EventEmitter v jadre, ktorý môžeme použiť na vytvorenie vlastných objektov EventEmitter. Skúsme vytvoriť triedu MemoryWatcher, ktorá zdedí EventEmitter a generuje dva typy udalostí:
  • pravidelné intervalové dáta reprezentujúce využitie pamäte v bajtoch;
  • ak došlo k prekročeniu určitého limitu.
  • Takže uzol nie je webový server, ale jeden zo spôsobov, ako vytvoriť kódvýpočtovej. Je to prostredie pre vykonávanie javascriptu.

    Súvisiace publikácie