NodeJS

Kaj je NodeJS?

Kaj je NodeJS?

V tej vadnici bomo začeli z Node.js. Spoznajte nekaj njegovih najbolj priljubljenih funkcij in bralce boste poskušali motivirati, da sprejmejo to čudovito tehnologijo za svoje prihodnje projekte. Predpogoj je, da se le seznanite s koncepti JavaScript in generičnimi programi, kot so spremenljivke, tipi podatkov in funkcije.

JavaScript ima čudno zgodovino. Začelo se je kot lahek skriptni jezik za spletne brskalnike in je bil bolj obravnavan kot "igrača" kot resen programski jezik. A svoj skromni začetek je že zdavnaj prerasel.

Ljudje so začeli razširjati njegove zmogljivosti, ko je Google odprtokodnega Chromovega tolmača JavaScript - motor V8. Vozlišče.js vzame ta mehanizem JavaScript in ga razširi tako, da deluje zunaj področja brskalnika. Vozlišče.js poveže JavaScript z API-jem vašega operacijskega sistema, tako da se lahko samodejno izvaja na strežniku (ali v primeru razvijalca na njegovem / njenem namizju). Da, to pomeni, da lahko z učenjem samo enega jezika - JavaScript, implementirate aplikacije na strani strežnika, namizne aplikacije in zaledne mehanizme.

Preprosto povedano, lahko pišete .js datoteke, ki vsebuje programe, napisane v sintaksi JavaScript, ki jih bo Node interpretiral.js podobno kot .py datoteke z veljavno sintakso interpretira / izvaja interpreter python.

Vendar je tu še več kot samo znanje jezika, Node.js ima neznane module in koncepte, ki bi zahtevali potrpljenje v neskončnem krogu učenja novih konceptov. Ima lastnega upravitelja paketov (npm), upravitelja različic (nvm) in največji svetovni register paketov. Bodite prepričani, da vam bodo začetne težave dolgoročno olajšale življenje.

Namestitev

Trenutno obstajata dve možnosti za Node.js, ki bi jih morda želeli razmisliti.

Ostali bomo pri različici LTS. S prenosom Node z uradne strani za vaš operacijski sistem bi bil nameščen tudi Node Package Manager (npm). O vozlišču je težko govoriti.js brez vstopa v npm. Kasneje se bomo vrnili k upravitelju paketov. Če uporabljate Ubuntu ali katero koli drugo distribucijo debian, preprosto uporabite:

$ sudo apt namestite nodejs

Za vse binarne datoteke in izvorno kodo obiščite uradno stran za prenos.

To je to z namestitvijo, čas je, da rečem: “Pozdravljen, svet!"

Pozdravljen, svet! In Ustvarjanje strežnika

Kot smo obljubili, bomo ustvarili zdravo.js datoteko in jo zaženite s pomočjo Node. V navadni besedilni datoteki, imenovani zdravo.js, napišemo naslednjo vrstico:

konzola.log (»Pozdravljen, svet!");

Zdaj shranite datoteko in odprite terminal v istem imeniku kot ta datoteka in zaženite naslednji ukaz:

$ vozlišče zdravo.js
# Ali pa lahko tečete
$ vozlišče zdravo

To vam bo dalo želeni rezultat "Pozdravljen, svet". Tako kot vaniljev JavaScript. Ampak zagotovo lahko naredimo boljše ..

Za razliko od aplikacij, ki temeljijo na PHP in za katere je potreben Apache ali Nginx ali kateri koli drug program spletnega strežnika, v vozlišču pišemo lastne http poti, konfiguriramo vrata in imena gostiteljev ter obdelujemo zahteve HTTP, da dobimo ustrezne odgovore.

Sliši se veliko dela, vendar je to le začetna ovira v učni krivulji, in ko se boste malo zalotili, boste lahko bolj kot kdaj koli prej razumeli spletne aplikacije. Ustvarimo spletni strežnik, ki posluša vrata 3000 na localhostu in kot odgovor vrne besedilno datoteko. Ustvari datoteko app.js z naslednjo vsebino:

const http = require ('http');
const ime gostitelja = '127.0.0.1 ';
const port = 3000;
const strežnik = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.end ('Hello World \ n');
);
strežnik.poslušaj (vrata, ime gostitelja, () =>
konzola.log ('Strežnik deluje na http: // $ hostname: $ port /');
);

Preden se spustimo v podrobnosti kode, shranite to datoteko in odprite terminal v istem imeniku kot datoteka, nato zaženite:

$ node app

S tem se izvede vsebina datoteke app.js datoteko in dobili boste izhod, kot sledi:

Odprite spletni brskalnik in obiščite http: // localhost: 3000 / ali http: // 127.0.0.1: 3000 /, da v oknu brskalnika vidite preprosto besedilo Hello World.

Torej, kaj smo pravkar storili? No, če poznate JavaScript, ga verjetno lahko razumete ..

The prva vrsta uvozi http modul, ki je vgrajeni modul, ki je priložen Node, in nam pomaga poslušati zahteve v spletnih vtičnicah, obdelati http zahteve in dati ustrezne odgovore.

The druga in tretja vrstica nastavi ime gostitelja do '127.0.0.1 ' in pristanišče  do 3000. To pomeni, da lahko spremenljivko nadaljujemo znova ime gostitelja in pristanišče, namesto da vtipkate celoten naslov IP. Kasneje, ko ga dejansko namestite na strežnik, ga nadomestite z IP-naslovom strežnika in številko vrat, kot je 80 ali 443, če gre za spletni strežnik. Ključna beseda const zagotavlja, da spremenljivke ni mogoče spremeniti drugje v programu.

The črte štiri do osem  ustvari strežniški objekt, ki sprejme zahtevo kot zahteva in daje odgovor kot res.

Odgovor ima atribut statusCode, res.statusCode ki je nastavljeno na 200, kar stranka razlaga kot status »V redu«. Kode napak so 400 in 500, na primer Napaka 404 je koda za vir, ki ga ni mogoče najti. Podobno je atribut setHeader nastavljen na 'text / plain', kar pomeni, da bo odjemalec prejel navadno besedilo. To lahko nastavite na HTML in brskalnik bo upodobil kateri koli veljaven html, s katerim se strežnik odzove. In konec atribut je preprosto besedilo, ki ga želimo vrniti. Namesto niza tukaj bodo resnične aplikacije imele statično datoteko HTML ali drugo .js datoteko za odjemalski brskalnik, kar bi predstavljalo veliko bolj uporaben odziv.

Končno, zadnje tri vrstice zažene strežnik in natisne sporočilo, da je aktiven za določeno ime gostitelja in številko vrat, kot jo nastavi const izjave. Vsakič, ko pride nova zahteva z določenim imenom gostitelja: strežnik kombinacije vrat daje odgovore z ustreznimi odziv predmet.

Kaj to pomeni?

Zgornje kode vam ni treba razumeti v celoti, da bi vedeli posledice. Zahvaljujoč izjemnim ogrodjem, kot sta Angular in React, že imamo na čelni strani JavaScript. Skupaj s tem imamo v Node zapečene tudi zaledne funkcije.js etos.

Spletni okviri, kot je Express.js vam lahko pomaga napisati še bolj zapleteno aplikacijo na vrhu Node.js. Pridobivanje podatkov iz baze podatkov, ustvarjanje API-jev in čelnega uporabniškega vmesnika je vse mogoče zapisati v enem jeziku.

Moč V8

Kljub temu, da gre za en sam jezik, se je treba še veliko naučiti. Različni okviri in moduli imajo različne funkcionalnosti. Obstaja tona različic, ki jim je treba slediti. Torej obstaja še kakšna prednost uporabe vozlišča.js ekosistem.

Eden najpomembnejših argumentov v podporo temu je, da ima motor V8 odlično podporo za asinhrone, neblokirajoče V / I. Kar v bistvu pomeni, da lahko en sam postopek, ki se izvaja v vašem sistemskem pomnilniku, obravnava več dohodnih zahtev. Kar približno pomeni, je, da če se ena zahteva obdela in vstopi druga zahteva, Node lahko začne z obdelavo nove zahteve, tudi če prva zahteva še ni končana.

Poleg tega je en postopek, ki se izvaja v vašem pomnilniku, odgovoren za obdelavo vseh dohodnih zahtev. Za razliko od aplikacij, ki temeljijo na PHP, ki ustvari nov postopek za vsako novo dohodno zahtevo.

Upajmo, da je bil ta uvod dovolj, da ste bili motivirani za Node.js. Vedejmo, če želite bolj poglobljene vadnice o podobnih temah, tako da nas spremljate na Twitterju, Facebooku in YouTubeu.

Najboljše aplikacije za preslikavo gamepadov za Linux
Če želite igre na Linuxu igrati z igralno ploščico namesto s tipičnim sistemom za vnos tipkovnice in miške, je za vas na voljo nekaj uporabnih aplikac...
Uporabna orodja za igralce Linux
Če radi igrate igre na Linuxu, obstaja verjetnost, da ste za izboljšanje igralne izkušnje uporabljali aplikacije in pripomočke, kot so Wine, Lutris in...
HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...