Node.js pentru începători: descriere, manual, caracteristici

Node.js este un motor runtime jаvascript încorporat în versiunea cu motor JS V8 de la Chrome. Node.js pentru platforma pentru începători folosește un model de I / O non-blocat, bazat pe evenimente, care îl face ușor și eficient. Ecosistemul de pachete Node.js este cel mai mare ecosistem al bibliotecilor open source din lume. Proiectul este susținut de Node.js. Contribuțiile, politicile și problemele sunt controlate în cadrul modelului de management deschis.

Node.js pentru începători: definiție

Node.js este o platformă de dezvoltare open source pentru rularea jаvascript pe partea de server. Nodul este util pentru dezvoltarea de aplicații care necesită o conexiune permanentă de la browser către server. Adesea folosit pentru aplicații în timp real, cum ar fi chat, fluxuri de știri și notificări push.nodul js pentru începători

Node.js este proiectat să funcționeze pe un server dedicat HTTP și să utilizeze un fir cu un proces pe o singură unitate de timp. Noțiuni de bază în Node.js este bazată pe eveniment și rulează asincron. Codul construit pe această platformă nu corespunde modelului tradițional de recepționare, procesare, trimitere, așteptare și primire. În schimb, Nodul procesează cererile primite în stivă de evenimente persistente, trimite cereri mici unul câte unul și nu așteaptă răspunsuri.

Node.JS cărțile novice conțin o mulțime de date despre trecerea de la modelele de bază care rulează procese mai mari, mai complexe și care rulează simultan mai multe fire. Fiecare dintre ei așteaptă răspunsul lor înainte de a merge mai departe.

Porniți Node.js - jаvascript

Nodul se bazează pe jаvascript și, prin urmare, înțelegerea muncii acestei platforme este imposibilă fără un tur al JS. Lecțiile pentru începători Node.js conțin o mulțime de informații introductive despre limbajul de programare pe care se bazează această platformă. jаvascript este un limbaj de programare interpretat sau scripturi de la Netscape. Este similar cu capabilitățile Microsoft Visual Basic, Sun Tcl, Perl de la UNIX și REXX de la IBM. Limbile de scripting jаvascript sunt mai ușor și mai rapid de codat decât mai structurate și compilate, cum ar fi C și C ++. Limbile scripturi durează de obicei mai mult decât scripturile compilate, dar sunt foarte utile pentru programele scurte.

jаvascript este utilizat în dezvoltarea unui site web pentru a efectua activități precum schimbarea automată a unei date formatate pe o pagină web. Acesta este motivul pentru care pagina legată va fi afișată într-o fereastră pop-up.

Dacă schimbați textul sau imaginea grafică jаvascript utilizează aceleași idei ca și în Java (o programare orientat pe obiect compilat, un derivat de C ++).nodul js începe

Caracteristici ale JS

jаvascript este folosit în mod obișnuit în dezvoltarea web. Acesta a fost inițial dezvoltat de Netscape ca un instrument pentru adăugarea de elemente dinamice și interactive pe site-uri web. Deși jаvascript depinde de Java, sintaxa este mai asemănătoare cu C și se bazează pe ECMAScript, limbajul de scripting dezvoltat de Sun Microsystems.

jаvascript este limba de scripting pe partea clientului. Aceasta înseamnă că codul sursă este procesat de browserul web al clientului, nu de serverul web. Funcțiile pot fi pornite după încărcarea paginii web fără a comunica cu serverul. De exemplu, funcția jаvascript poate verifica formularul web înainte de a le trimite, pentru a vă asigura că sunt completate toate câmpurile necesare. Codul poate da un mesaj de eroare înainte ca orice informație să fie transmisă efectiv serverului.

Ca și server-side limbile de scripting, cum ar fi PHP și ASP, codul jаvascript poate fi inserat oriunde în pagina HTML de pe web. Cu toate acestea, în HTML, este afișată numai ieșirea codului serverului, iar codul jаvascript rămâne complet vizibil în sursa paginii web. Acesta poate fi găsit și într-un fișier .JS separat, care poate fi de asemenea vizualizat în browser.

Cod exemplu

Mai jos este un exemplu de funcție de bază jаvascript care adaugă două numere. Funcția este apelată cu parametrii 7 și 11. Dacă codul următor a fost inclus în codul HTML al paginii web, acesta a afișat textul "18" în câmpul de avertizare.

Puteți să apelați funcțiile jаvascript în etichete

Avantaje și nuanțe importante

Unul dintre principalele avantaje ale Node.js, conform creatorului său Ryan Dahl, este că nu blochează I / O (I / O). Unii dezvoltatori sunt foarte critici față de Node.js și rețineți că dacă un proces necesită un număr semnificativ de cicluri de procesor, aplicația este blocată. Acest lucru poate cauza o defecțiune. Suporterii modelului Node.js susțin că timpul de procesare a procesorului este mai puțin preocupat de numărul mare de procese mici pe care se bazează codul site-ului.

Popularitatea aplicațiilor jаvascript este în plină expansiune în ultimii ani, iar Node.js contribuie cu siguranță la această creștere. Dacă ne uităm la statistici, vom vedea că există mai multe pachete Node în lume decât date Ruby similare. Al doilea factor: pachetele de noduri cresc mai repede decât Ruby, Python și Java.

Ce o face mai populară decât Rails și alte alternative la Node.JS? Cum să începeți studiul? Nodul în sine este o platformă asincronă bazată pe evenimente, construită pe baza motorului jаvascript jаvascript și concepută pentru a crea aplicații de rețea scalabile. Cu alte cuvinte, Node.js este jаvascript plus C / C ++ împreună cu sistemul de fișiere, care rulează servere HTTP sau TCP.

Nodul are un singur fir și utilizează un model de concurență bazat pe bucla evenimentului. Nu blochează procesele și nu provoacă așteptarea programului, dar înregistrează un apel invers și permite aplicației să continue să funcționeze. Aceasta înseamnă că platforma poate procesa operații paralele fără fire multiple de execuție și scări eficiente.

Există diferențe mari între limbile consecutive și Node.js:

  • Nodul vă permite să efectuați alte activități, așteptând notificarea atunci când răspunsul este disponibil;

  • Aplicația nu stochează datele în memorie, ci scoate fragmentar datele.

Deși există alte sisteme de buclă de evenimente (de exemplu, biblioteca EventMachine din Ruby sau Twisted în Python), există o diferență semnificativă între acestea și Nod.

În Node.JS, toate bibliotecile au fost proiectate de la început pentru a fi non-blocante, ceea ce nu se poate spune despre alții.nod de noduri pentru incepatori

Utilizați cazuri

Nodul este ideal pentru aplicații cu legare I / O, dar nu atât de bun pentru aplicațiile cu un procesor greu. Un exemplu excelent este aplicațiile în timp real (DIRT), API-urile JSON și aplicațiile pentru streaming de date.

Nodul managerului oficial (NPM)

Nodul datorează o mare parte din succesul său managerului de pachete care vine cu el. Avantajele acestui instrument:

  • stabilește dependențele aplicațiilor la nivel local, nu global;

  • În același timp, procesează mai multe versiuni ale aceluiași modul;

  • puteți specifica tarballs sau repositories de tip git ca dependențe;

  • Este foarte ușor să publicați propriul modul în registrul NPM.

Instalarea Node.js

Pentru începători, există instalatori oficiali pentru Node în Windows și OS X, și puteți, de asemenea, să instalați prin intermediul Managerului de pachete. Pentru a testa codul de utilizator cu diferite versiuni de noduri, utilizați NVM (Node manager de versiuni).

Cu ajutorul acestui instrument, puteți utiliza mai multe versiuni ale nodului instalate în sistem și puteți comuta cu ușurință între ele. În următoarele câteva linii, vom vedea cum să instalăm NVM în sistemul Ubuntu.nodul js unde să începem

În primul rând, trebuie să ne asigurăm că sistemul nostru are un compilator C ++:

$ sudo apt-get actualizare

$ sudo apt-get instalează build-essential libssl-dev

După aceasta, putem copia și lipi instalatorul cu un singur buton pentru NVM în terminal:

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | lovit

NVM trebuie să fie instalat corespunzător, deci deconectăm și logați-vă pentru a vă asigura că totul este corect. Introduceți comanda:

$ nvm

Dacă în timpul intrării nu apare o eroare, înseamnă că totul este în ordine. Acum putem trece la crearea actuală a Node și NPM.

Rezultatul pe linia de comandă ar trebui să arate astfel:

$ nvm install v0.10.31

################################################## ################ 100,0%

Acum ambele noduri și npm ar trebui să fie disponibile în terminal:

$ node -v Amp- Amp- amp-npm -v

v0.10.31

1.4.23

Acum trebuie să configurați Node.JS pentru a porni implicit cu comanda din terminal:

$ nvm alias implicit 0.10.31

Putem instala alte versiuni ale nodului ca mai înainte, dar comuta între ele folosind comanda nvm use:

$ nvm install v0.8.10



Dacă nu știți ce versiuni sunt instalate pe sistemul dvs., trebuie doar să tastați nvm-list. Acest instrument vă va afișa lista completă, precum și versiunile curente și implicite, de exemplu:

listă $ 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 curent: v0.10.24 implicit -> v0.10.24nod lecții js pentru începători

module

Tutorialul Node.JS pentru începători Java sau Python prevede utilizarea funcției de import pentru a încărca alte biblioteci, în timp ce PHP și Ruby nu necesită acest lucru. Nodul implementează interfața CommonJS pentru module. De asemenea, puteți încărca alte variante utilizând cuvântul cheie necesar.

De exemplu, este posibil să avem nevoie de câteva dintre modulele noastre:

var http = necesită ("http");

var dns = cer (`dns`);

De asemenea, putem apela fișiere relative:

var myFile = cer (`./ myFile`) - // download myFile.js

Pentru a instala module din NPM, căutați-le pe site-ul web sau în Github. Sintaxa pentru instalarea locală a modulului este destul de simplă:

# where express === numele modulului

$ npm install express

callback

În programarea asincronă, nu vom reveni la valori atunci când funcțiile sunt executate, ci vom folosi stilul de continuare (CPS). Cu acest stil, funcția asincronă apelează un apel invers (o funcție care a trecut în mod normal ca ultimul argument) pentru a continua programul după ce este terminat.

Următoarele reprezintă un exemplu de găsire a adreselor IPv4 pentru un domeniu:

var dns = cer (`dns`);

dns.resolve4 ("google.com", funcție (err, adresă) {

dacă (err) arunci eroare;

console.log (`adrese:` + JSON.stringify (adrese));

});

Am trecut funcția de apel invers (funcția anonimă încorporată) ca al doilea argument pentru asincronul dns.resolve4. Odată ce funcția de asincronizare este gata, va reveni, continuând executarea programului.

evenimente

Ghidul pentru începători în Node.JS prezentat modelul de apel invers standard, care funcționează bine pentru cazuri de utilizare în cazul în care ne dorim să fie informat cu privire la funcția de sfârșit de sincronizare. Cu toate acestea, există situații care necesită notificarea diferitelor evenimente care nu apar simultan.

Să analizăm acest lucru cu un exemplu de cod cu un client IRC:

var irc = necesită (`irc`);

var client = new irc.Client (`irc.freenode.net`, `myIrcBot`, {

canale: [`# sample-channel`]

});

client.on ("eroare", funcție (mesaj) {

console.error ("eroare:", mesaj);

});

client.on (`connect`, funcția () {

console.log ("conectat la serverul IRC");

});

client.on (`mesaj`, funcție (de la, la, mesaj) {

console.log (de la + `=>` + la + `:` + mesaj);

});

client.on (`pm`, funcție (de la, mesaj) {

console.log (de la + `=> ME: + mesaj);

}).nodul js primer

În exemplul de mai sus, avem de-a face cu trei tipuri de evenimente:

  • evenimentul de conectare este emis atunci când clientul se conectează cu succes la serverul IRC;

  • evenimentul de eroare este declanșat dacă apare o eroare;

  • mesajele și evenimentele pm sunt selectate pentru mesajele primite.

Evenimentele de mai sus fac această situație ideală pentru utilizarea șablonului EventEmitter.

Șablonul EventEmitter permite dezvoltatorilor să lanseze un eveniment la care se pot abona consumatorii, dacă aceștia sunt interesați de acest eveniment. Acest șablon poate fi familiarizat cu browserul, unde este folosit pentru a atașa agenții de procesare a evenimentelor.

Nodul are o clasă EventEmitter în kernelul pe care îl putem folosi pentru a crea propriile noastre obiecte EventEmitter. Să încercăm să creăm o clasă MemoryWatcher care moștenește EventEmitter și generează două tipuri de evenimente:

  • date la intervale regulate, care reprezintă utilizarea memoriei în octeți;

  • un eveniment de eroare dacă memoria depășește o anumită limită.

Deci, Nodul nu este un server web, este o modalitate de a crea codul pe un computer. Este mediul în care rulează jаvascript.

Distribuiți pe rețelele sociale:

înrudit
Ce este jаvascript? Istoria aspectului și principalele caracteristiciCe este jаvascript? Istoria aspectului și principalele caracteristici
Ce este jаvascripts? Funcțiile jаvascript de bazăCe este jаvascripts? Funcțiile jаvascript de bază
Notificarea în browser - ce este?Notificarea în browser - ce este?
jаvascript: exemple de aplicațiijаvascript: exemple de aplicații
Stack-ul / pop-ul jаvascript StackStack-ul / pop-ul jаvascript Stack
Funcția de gestionare a timpului jаvascript setInterval ()Funcția de gestionare a timpului jаvascript setInterval ()
Operațiuni eficiente la nivel de linie utilizând metoda split jаvascriptOperațiuni eficiente la nivel de linie utilizând metoda split jаvascript
jаvascript expresiv: descrierea caracteristicilorjаvascript expresiv: descrierea caracteristicilor
Folosind funcția jаvascript setTimeout ()Folosind funcția jаvascript setTimeout ()
Programatori web: descrierea profesiei, plusuri și minusuriProgramatori web: descrierea profesiei, plusuri și minusuri
» » Node.js pentru începători: descriere, manual, caracteristici