SõlmJS

Mis on NodeJS?

Mis on NodeJS?

Selles õpetuses alustame Node'iga.js. Lugege selle mõnede kõige populaarsemate funktsioonide kohta ja proovige lugejaid motiveerida seda suurepärast tehnoloogiat oma tulevaste projektide jaoks kasutusele võtma. Eeltingimusena peate lihtsalt läbima tundma JavaScripti ja üldisi programmeerimiskontseptsioone, nagu muutujad, andmetüübid ja funktsioonid.

JavaScripti ajalugu on kummaline. See algas veebibrauserite jaoks lihtsa skriptikeelena ja seda käsitleti pigem mänguasjana kui tõsise programmeerimiskeelena. Kuid see on juba ammu oma tagasihoidlikust algusest üle kasvanud.

Inimesed hakkasid oma võimalusi laiendama siis, kui Google avas Chrome'i Java-tõlke - mootori V8. Sõlm.js võtab selle JavaScripti mootori ja laiendab seda ka väljaspool brauseri valdkonda töötama. Sõlm.js seob JavaScripti teie operatsioonisüsteemi API-ga, et see saaks serveril (või arendaja puhul tema töölaual) loomulikult töötada. Jah, see tähendab, et saate juurutada serveripoolseid rakendusi, töölauarakendusi ja taustamehhanisme, õppides ainult ühe keele - JavaScripti.

Lihtsamalt öeldes võite kirjutada .js failid, mis sisaldavad JavaScripti süntaksis kirjutatud programme, mida Node tõlgendab.js umbes samamoodi .py kehtiva süntaksiga faile tõlgendab / täidab pythoni tõlk.

Selles on midagi muud, kui ainult keele oskus, Node.js-l on tundmatud moodulid ja kontseptsioonid, mis nõuaksid kannatlikkust uute mõistete õppimise lõputa tsüklis. Sellel on oma paketihaldur (npm), versioonihaldur (nvm) ja maailma suurim paketiregister. Võite olla kindel, et esialgsed raskused muudavad teie elu pikas perspektiivis palju lihtsamaks.

Paigaldamine

Praegu on sõlmel kaks võimalust.js versioonid, mida võiksite kaaluda.

Jääme LTS-i versiooni juurde. Node'i allalaadimine teie operatsioonisüsteemi ametlikult saitidelt installib ka Node Package Manager (npm). Node'ist on raske rääkida.js ilma sisse minnes. Tuleme hiljem pakettihalduri juurde tagasi. Kui kasutate Ubuntu või mõnda muud debiandistroot, kasutage lihtsalt järgmist:

$ sudo apt install nodejs

Kõigi binaarkaartide ja lähtekoodi leiate ametlikust allalaadimislehest.

See on kõik koos installimisega, aeg öelda: „Tere, maailm!”

Tere, Maailm! Ja serveri loomine

Nagu lubatud, loome a Tere.js fail ja käivitage see sõlme abil. Lihttekstifailis, nn Tere.js, kirjutame järgmise rea:

konsool.logi („Tere, maailm!”);

Nüüd salvestage fail ja avage terminal samaga kataloogis kui see fail ning käivitage järgmine käsk:

tere $ node.js
Või võite joosta
tere $ node

See annab teile soovitud väljundi "Tere, Maailm". Täpselt nagu vanilje JavaScripti. Kuid kindlasti saame paremini hakkama ..

Erinevalt PHP-põhistest rakendustest, mis nõuavad Apache või Nginxi või mõne muu veebiserveri programmi käivitamist, kirjutame sõlmes oma http-marsruudid, konfigureerime pordid ja hostinimed ning töötleme HTTP-päringuid vastuste saamiseks.

Tundub palju tööd, kuid see on õppekõveras alles esialgne takistus ja kui olete asjadest aru saanud, saate veebirakendustest aru sügavamalt kui kunagi varem. Loome veebiserveri, mis kuulab localhosti porti 3000 ja tagastab vastuseks tekstifaili. Looge fail rakendus.js järgmise sisuga:

const http = nõudma ('http');
const hostname = '127.0.0.1 ';
const port = 3000;
const server = http.createServer ((req, res) =>
res.olekukood = 200;
res.setHeader ('Sisutüüp', 'tekst / tavaline');
res.end ('Tere maailm \ n');
);
server.kuulama (port, hostinimi, () =>
konsool.log ('Server töötab aadressil http: // $ hostname: $ port /');
);

Enne koodi üksikasjadesse jõudmist salvestage see fail ja avage terminal failiga samas kataloogis, seejärel käivitage:

Rakendus $ node

See käivitab faili rakendus.js faili ja saate väljundi järgmiselt:

Avage veebibrauser ja külastage aadressi http: // localhost: 3000 / või http: // 127.0.0.1: 3000 /, et näha oma brauseriaknas lihtsat tere maailma teksti.

Mida me siis lihtsalt tegime? Noh, kui olete JavaScripti tundnud, saate tõenäoliselt mõnda neist mõtestada ..

The esimene rida importib mooduli http, mis on sisseehitatud moodul, mis tuleb koos Node'iga ja see aitab meil veebipesades päringuid kuulata, http-päringuid töödelda ja asjakohaseid vastuseid anda.

The teine ​​ja kolmas rida määrab hostinimi kuni "127.0.0.1 ' ja sadam  kuni 3000. See tähendab, et saame muutujat uuesti kasutada hostinimi ja sadam, selle asemel, et tippida välja kogu IP-aadress. Hiljem, kui installite selle tegelikult serverisse, asendate selle serveri IP-aadressiga ja pordinumbriga nagu 80 või 443, kui see on veebiserver. Märksõna konst tagab, et muutujat ei saa mujal programmis muuta.

The read neli kuni kaheksa  loob serveriobjekti, mis võtab päringu kui küsima ja annab vastuse res.

Vastusel on selle atribuut statusCode res.statusCode mis on seatud väärtusele 200, mida klient tõlgendab olekuks „Olgu”. Veakoodid on 400s ja 500s, näiteks tõrge 404 on ressursi kood, mida ei leitud. Samamoodi on atribuudi setHeader väärtuseks seatud 'text / plain', mis tähendab, et klient saab lihtteksti. Võite määrata selle HTML-iks ja teie brauser renderdab kõik kehtivad HTML-id, millele server vastab. Ja lõpp atribuut on lihtsalt tekst, mille soovime tagastada. Selle asemel, et siin oleks string, on reaalsetes rakendustes staatiline või mõni muu HTML-fail .js fail brauseri jaoks, mis oleks palju kasulikum vastus.

Lõpuks viimased kolm rida käivitab serveri ja prindib sõnumi, milles öeldakse, et see on aktiivne konkreetse hostinime ja pordinumbri järgi, mille on määranud konst esialgu avaldused. Iga kord, kui uus päring tuleb määratud hostinimega: pordikombinatsiooni server annab vastused asjakohasega vastus objekt.

Mida see tähendab?

Tagajärgede teadmiseks ei pea te ülaltoodud koodist tervikuna aru saama. Tänu ägedatele raamistikele nagu Angular ja React on meil juba eesliides JavaScripti. Koos sellega on meil ka sõlmes küpsetatud taustfunktsioonid.js eetos.

Veebiraamistikud nagu Express.js aitab teil sõlmida Node'i peale veelgi keerukama rakenduse.js. Andmebaasist andmete hankimine, API-de loomine ja kasutajaliidese kõik saab kirjutada ühte keelt kasutades.

V8 jõud

Hoolimata sellest, et see on üks keel, on veel palju õppida. Erinevatel raamistikel ja moodulitel on erinevad funktsioonid. Versioone, mida jälgida, on tonn. Kas on ka muud sõlme kasutamisest kasu.js ökosüsteem.

Üks olulisemaid argumente selle toetuseks on see, et V8 mootor toetab suurepäraselt asünkroonset, mitteblokeerivat sisend- / väljundit. Mis tähendab põhimõtteliselt seda, et teie süsteemimälus töötav üks protsess saab hakkama mitme sissetuleva taotlusega. See tähendab laias laastus seda, et kui ühte taotlust töödeldakse ja teine ​​taotlus tuleb, on sõlmel võimalik uue päringu töötlemist alustada isegi siis, kui esimene taotlus pole veel lõpetatud.

Pealegi vastutab kõigi sissetulevate päringute töötlemise eest üks teie mälus töötav protsess. Erinevalt PHP-põhistest rakendustest, mis sünnitab iga uue sissetuleva päringu jaoks uue protsessi.

Loodetavasti piisas sellest sissejuhatusest Node'i motiveerimiseks.js. Andke teada, kas soovite põhjalikumaid õpetusi sarnastel teemadel, jälgides meid Twitteris, Facebookis ja YouTube'is.

Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...
Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...
Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...