Node.js za začetnike: opis, priročnik, funkcije
Node.js je jаvascript runtime jаvascript, ki je vgrajen v različico motorja JS V8 iz Chroma. Node.js za začetne platforme uporablja dogodkovni, ne blokirajoči I / O model, ki omogoča preprosto in učinkovito uporabo. Paketni ekosistem Node.js je največji ekosistem odprtokodnih knjižnic na svetu. Projekt podpira Node.js. Prispevki, politike in vprašanja se nadzorujejo v okviru modela odprtega upravljanja.
Vsebina
Node.js za začetnike: definicija
Node.js je odprtokodna platforma za zagon jаvascripta na strani strežnika. Vozlišče je uporabno za razvoj aplikacij, ki zahtevajo trajno povezavo z brskalnika na strežnik. Pogosto se uporabljajo za aplikacije v realnem času, kot so klepet, novice in potisna obvestila.
Node.js je zasnovan za delo na namenjen strežnik HTTP in za uporabo ene niti z enim procesom na eno časovno enoto. Začetek v Node.js je zasnovan na dogodkih in se izvaja asinhrono. Koda, zgrajena na tej platformi, ne ustreza tradicionalnemu modelu sprejema, obdelave, pošiljanja, čakanja in prejemanja. Namesto tega vozlišče obdeluje dohodne zahteve v svežnju trajnih dogodkov, pošilja majhne zahteve enega po enega in ne počaka na odzive.
Node.JS novice knjige vsebujejo veliko podatkov o prehodu iz osnovnih modelov, ki vodijo večje, bolj zapletene procese in hkrati vodijo več niti. Vsak od njih pričakuje ustrezen odgovor, preden nadaljuje.
Zaženite Node.js - jаvascript
Vozlišče temelji na jаvascriptu, zato je razumevanje dela te platforme nemogoče brez ogleda JS. Lekcije za začetnike Node.js vsebujejo veliko uvodnih informacij o programskem jeziku, na katerem temelji ta platforma. jаvascript je interpretirani programski jezik ali skripte Netscape. Podobno je zmogljivosti Microsoft Visual Basic, Sun Tcl, Perl od UNIX in REXX od IBM-a. jаvascript skriptni jeziki so lažji in hitrejši za kodiranje kot bolj strukturiranih in zbranih, kot so C in C ++. Jeziki skriptov običajno trajajo dlje kot prevedeni skripti, vendar so zelo koristni za kratke programe.
jаvascript se uporablja pri razvijanju spletne strani za izvajanje nalog, kot je samodejno spreminjanje oblikovanega datuma na spletni strani. To je razlog, zakaj se povezana stran prikaže v pojavnem oknu.
Ko spremenite besedilo ali grafike, jаvascript uporablja iste ideje kot v Java (prevedeno ciljno programiranje, izpeljano iz C + +).
Značilne značilnosti JS
jаvascript se pogosto uporablja v spletnem razvoju. Netscape je bil prvotno razvit kot orodje za dodajanje dinamičnih in interaktivnih elementov na spletne strani. Čeprav je jаvascript odvisen od Java, je sintaksa bolj podobna C in temelji na ECMAScriptu, skriptnem jeziku, ki ga je razvil Sun Microsystems.
jаvascript je skriptni jezik na strani odjemalca. To pomeni, da izvorno kodo obdela spletni brskalnik stranke in ne spletni strežnik. Funkcije lahko začnete po nalaganju spletne strani, ne da bi komunicirali s strežnikom. Funkcija jаvascript lahko na primer preveri spletni obrazec pred pošiljanjem, da se prepriča, da so izpolnjena vsa potrebna polja. Koda lahko pošlje sporočilo o napaki, preden se informacije dejansko prenesejo na strežnik.
Tako kot na strani strežnika skriptni jeziki, kot sta PHP in ASP, lahko kodo jаvascript vstavite kjerkoli na strani HTML na spletu. Vendar pa se v HTML-ju prikaže samo izhod strežniške kode, koda jаvascript pa ostane popolnoma vidna v viru spletne strani. Lahko ga najdete tudi v ločeni datoteki .JS, ki jo lahko ogledate tudi v brskalniku.
Koda vzorca
Spodaj je primer osnovne funkcije jаvascript, ki doda dve številki. Funkcija se kliče s parametri 7 in 11. Če je bila v HTML-je spletne strani vključena naslednja koda, je v opozorilnem polju prikazano besedilo "18".
V oznake lahko kličete funkcije jаvascript
Prednosti in pomembne odtenki
Ena od glavnih prednosti Node.js, po njegovem ustvarjalcu Ryanu Dahlu, je, da ne blokira I / O (I / O). Nekateri razvijalci so zelo kritični za Node.js in upoštevajte, da če en proces zahteva veliko število ciklov procesorja, je program blokiran. To lahko povzroči okvaro. Podporniki modela Node.js trdijo, da čas obdelave procesorja manj skrbi zaradi velikega števila majhnih procesov, na katerih temelji koda spletnega mesta.
Priljubljenost aplikacij jаvascript se je v zadnjih nekaj letih povečala in Node.js vsekakor prispeva k tej rasti. Če pogledamo statistiko, bomo videli, da obstaja več paketov Node na svetu kot podobni podatki Ruby. Drugi dejavnik: Node paketov rastejo hitreje kot Ruby, Python in Java.
Zakaj je bolj priljubljena kot Rails in druge možnosti za Node.JS? Kako začeti študijo? Sam sam vozlišče je asinhronska platforma, ki temelji na dogodkih, zgrajena na osnovi jаvascript jаvascript motorja in je namenjena ustvarjanju razširljivih omrežnih aplikacij. Z drugimi besedami, Node.js je jаvascript plus C / C + + v povezavi z datotečnim sistemom, ki izvaja strežnike HTTP ali TCP.
Vozlišče je enojno in uporablja vzporedni model na podlagi zanke dogodka. Ne blokira procesov in ne povzroča, da program počaka, ampak registrira povratni klic in omogoča, da aplikacija nadaljuje z delom. To pomeni, da platforma lahko obdeluje vzporedne operacije brez več nitnih izvedb in učinkovito lestvice.
Med zaporednimi jeziki in Node.js obstajajo velike razlike:
Vozlišče omogoča izvajanje drugih nalog, čaka na obvestilo, ko je odgovor na voljo;
Aplikacija ne zbira podatkov v pomnilnik, temveč jih razdeli.
Čeprav obstajajo še drugi sistemi zank z dogodki (na primer knjižnica EventMachine v Rubyju ali Twisted in Python), obstaja velika razlika med njimi in vozliščem.
V Node.JS so bile vse knjižnice zasnovane od tal do ne-blokiranja, kar pa ne moremo reči o drugih.
Uporabite primere
Vozlišče je idealno za aplikacije z vezavo I / O, vendar ni tako dobro za aplikacije s težkim procesorjem. Odličen primer so aplikacije v realnem času (DIRT), enostranske, API JSON in aplikacije za pretakanje podatkov.
Uradni upravitelj paketa Node (NPM)
Node dolguje velik uspeh upravitelju paketov, ki prihaja z njim. Prednosti tega orodja:
ugotavlja odvisnost od uporabe lokalno, ne globalno;
Hkrati obdeluje več različic istega modula;
lahko podate tarballe ali repozitorije git kot odvisnosti;
Zelo enostavno je objaviti svoj modul v registru NPM.
Namestitev Node.js
Za začetnike obstajajo uradni inštalaterji za Node v operacijskih sistemih Windows in OS X, lahko pa jih namestite tudi prek paketa Manager. Če želite preizkusiti uporabniško kodo z različnimi različicami vozlišč, uporabite NVM (upravitelj izdaj Node).
S tem orodjem lahko v sistemu nameščate več različic vozlišča in preprosto preklapljate med njimi. V naslednjih nekaj vrsticah bomo videli, kako namestiti NVM v sistem Ubuntu.
Najprej moramo zagotoviti, da ima naš sistem prevajalnik C ++:
$ sudo apt-get posodobitev
$ sudo apt-get namestite build-essential libssl-dev
Nato lahko kopirate in prilepimo enostranski inštalater za NVM v terminal:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | udaril
NVM mora biti pravilno nameščen, zato se odjavite in se prijavite, da se prepričate, ali je vse v redu. Vnesite ukaz:
$ nvm
Če med vnosom ni prišlo do napake, to pomeni, da je vse v redu. Zdaj lahko nadaljujemo z dejanskim vzpostavljanjem Node in NPM.
Rezultat v ukazni vrstici bi moral biti takšen:
$ nvm namestite v0.10.31
.. ################ 100.0%
Zdaj sta na vozlišču na voljo obe vozlišči in npm:
$ vozlišče -v amp- amp- amp-npm -v
v0.10.31
1.4.23
Zdaj morate konfigurirati Node.JS za privzeto zagon z ukazom v terminalu:
Privzeto vzdevek $ nvm 0.10.31
Druge različice vozlišča lahko namestimo kot prej, vendar preklapljate med njimi z uporabo ukaza nvm use:
$ nvm namestite v0.8.10
Če ne veste, katere različice so nameščene v vašem sistemu, vnesite nvm-seznam. To orodje vam bo prikazalo celoten seznam, pa tudi trenutne in privzete različice, na primer:
seznam $ nvm
v0.6.3 v0.6.12 v0.6.14 v0.6.19 v0.7.7 v0.7.8 v0.7.9 v0.8.6 v0.8.11 v0.10.3 v0.10.12 v0.10.15 v0.10.21 v0.10.24 v0.11.9 tok: v0.10.24 privzeto -> v0.10.24
Moduli
Vadnica Node.JS za začetnike Java ali Python predvideva uporabo uvozne funkcije za nalaganje drugih knjižnic, medtem ko PHP in Ruby tega ne zahtevata. Node izvaja modul CommonSS vmesnik. Druge različice lahko naložite tudi z uporabo ključne besede zahtev.
Na primer, potrebujemo nekaj lastnih modulov:
var http = zahteva (`http`);
var dns = zahtevati ("dns");
Lahko tudi pokličemo relativne datoteke:
var myFile = zahtevati (`./ myFile`) - // prenesite myFile.js
Če želite namestiti module iz NPM, jih poiščite na spletni strani ali v Githubu. Sintaksa za namestitev modula na lokalni ravni je precej preprosta:
# kjer je ime izraza express ===
$ npm install express
Povratni klici
V asinhronem programiranju ne vračamo vrednosti, ko se izvajajo funkcije, temveč uporabite slog nadaljevanja (CPS). S tem slogom asinhroni funkcija pokliče povratni klic (funkcija, ki se običajno prenese kot zadnji argument) za nadaljevanje programa po zaključku.
Naslednji primer je iskanje naslovov IPv4 za domeno:
var dns = zahtevati ("dns");
dns.resolve4 (`google.com`, funkcija (err, naslovi) {
če (err) vrže napako;
console.log (`naslovi:` + JSON.stringify (naslovi));
});
Prehodili smo nazaj (vgrajeno anonimno funkcijo) kot drugi argument za asinhrone dns.resolve4. Ko je funkcija asinc pripravljena, se bo vrnila nazaj in nadaljevala izvajanje programa.
Dogodki
Vodič za začetnike za Node.JS uvaja standardni vzorec povratnega klica, ki dobro deluje za primere uporabe, ko želimo prejemati obvestila, ko se konča asinhronizacijska funkcija. Vendar pa obstajajo razmere, ki zahtevajo obveščanje o različnih dogodkih, ki se ne zgodijo hkrati.
Oglejmo si to s primerom kode z IRC odjemalcem:
var irc = zahtevati ("irc");
var client = novo irc.Client (`irc.freenode.net`, `myIrcBot`, {
kanali: [`# vzorčni kanal`]
});
client.on (`napaka`, funkcija (sporočilo) {
console.error (`napaka:`, sporočilo);
});
client.on (`povezava`, funkcija () {
console.log ("priključen na irc strežnik");
});
client.on (`sporočilo`, funkcija (od, do, sporočila) {
console.log (od + `=>` + do + `:` + sporočilo);
});
client.on (`pm`, funkcija (od, sporočilo) {
console.log (iz + `=> ME: + sporočilo);
}).
V zgornjem primeru obravnavamo tri vrste dogodkov:
dogodek povezave se izda, ko se stranka uspešno poveže z IRC strežnikom;
dogodek napake se sproži, če pride do napake;
sporočila in pm dogodki so izbrana za dohodna sporočila.
Zgoraj navedeni dogodki omogočajo, da je ta položaj idealna za uporabo predloge EventEmitter.
Predloga EventEmitter omogoča razvijalcem, da objavijo dogodek, na katerega se lahko naročijo naročniki, če jih zanima. Ta predloga je lahko seznanjena z brskalnikom, kjer se uporablja za pripravo upravljalcev dogodkov.
Vozlišče ima razred jedra EventEmitter v jedru, ki ga lahko uporabimo za ustvarjanje lastnih predmetov EventEmitter. Poskusimo ustvariti razred MemoryWatcher, ki podeduje EventEmitter in ustvarja dve vrsti dogodkov:
podatke v rednih intervalih, kar pomeni uporabo pomnilnika v bajtih;
dogodek napake, če pomnilnik presega določeno omejitev.
Torej, vozlišče ni spletni strežnik, to je en način ustvarjanja kode na računalniku. To je okolje za zagon jаvascripta.
- Kako ustvariti lasten strežnik v `Agarion`? Enostavna pot
- Kaj je jаvascript? Zgodovina videza in glavne značilnosti
- Kaj je jаvascript? Osnovne funkcije jаvascript
- jаvascript: primere uporabe
- jаvascript: stikalo - izberite možnosti
- jаvascript Stack push / pop
- Скриптовые языки программирования: задачи, особенности и преимущества
- Funkcija upravljanja s časom jаvascript setInterval ()
- Uporaba indeksa (jаvascript) pri delu z nizi in nizi
- Uporaba elementov DOM prek jаvascript getElementById
- Uporaba funkcije jаvascript setTimeout ()
- Kako omogočiti jаvascript v brskalniku Google Chrome in drugih brskalnikih
- Uporaba opozorila jаvascript ()
- Razvoj prednjega dela: kaj je in kako narediti živo in pametno spletno mesto
- Ravnanje z znaki: podnaslov metode jаvascript ()
- Uporaba metode za nadomestitev ()
- Uporaba funkcije PHP naključno
- Sintaksa jаvascript parseInt: primeri uporabe
- Primeri uporabe metode dolžine jаvascripta
- Kako pretvoriti niz v številko v jаvascriptu
- Pomen in uporaba praznega jаvascripta