MazgasJS

Kas yra „NodeJS“?

Kas yra „NodeJS“?

Šioje pamokoje pradėsime naudotis „Node“.js. Sužinokite apie keletą populiariausių jos funkcijų ir pabandysite motyvuoti skaitytojus pritaikyti šią nuostabią technologiją savo būsimiems projektams. Kaip išankstinė sąlyga, jūs tiesiog turite gerai išmanyti „JavaScript“ ir bendras programavimo koncepcijas, tokias kaip kintamieji, duomenų tipai ir funkcijos.

„JavaScript“ istorija yra keista. Tai prasidėjo kaip lengva naršyklių scenarijų kalba ir buvo traktuojama labiau kaip „žaislas“ nei rimta programavimo kalba. Bet ji jau seniai peraugo savo kuklią pradžią.

Žmonės pradėjo plėsti savo galimybes, kai „Google“ atidarė „Chrome“ „JavaScript“ vertėją - V8 variklį. Mazgas.js paima šį „JavaScript“ variklį ir išplečia, kad jis veiktų už naršyklės ribų. Mazgas.„js“ susieja „JavaScript“ su jūsų operacinės sistemos API, kad ji galėtų veikti savaime serveryje (arba kūrėjo atveju jo / jos darbalaukyje). Taip, tai reiškia, kad jūs galite įdiegti serverio programas, darbalaukio programas ir vidinius mechanizmus, išmokdami tik vienos kalbos - „JavaScript“.

Paprasčiau tariant, galite rašyti .js failus, kuriuose yra „JavaScript“ sintaksėje parašytų programų, kurias interpretuos mazgas.js panašiai kaip .py failus su galiojančia sintakse interpretuoja / vykdo pitono vertėjas.

Tačiau tai ne tik mokėti kalbą, bet ir „Node“.JS turi nepažįstamus modulius ir sąvokas, kuriems prireiks kantrybės nesibaigiančiame naujų koncepcijų mokymosi cikle. Ji turi savo paketų tvarkyklę (npm), versijų tvarkyklę (nvm) ir didžiausią pasaulyje paketų registrą. Būkite tikri, kad pradiniai sunkumai ilgainiui labai palengvins jūsų gyvenimą.

Montavimas

Šiuo metu „Node“ yra dvi parinktys.js versijas, kurias galbūt norėsite apsvarstyti.

Laikysimės LTS versijos. Atsisiųsdami „Node“ iš oficialios savo operacinės sistemos svetainės, taip pat įdiegsite „Node Package Manager“ (npm). Apie „Node“ sunku kalbėti.js nepatekus į npm. Vėliau grįšime į paketų tvarkytuvę. Jei naudojate „Ubuntu“ ar bet kurį kitą „Debian“ distributorių, tiesiog naudokite:

$ sudo apt įdiekite nodejs

Visus dvejetainius failus ir šaltinio kodą rasite oficialiame atsisiuntimo puslapyje.

Tai viskas su instaliacija, laikas pasakyti: „Sveikas, pasauli!“

Labas pasauli! Ir sukurti serverį

Kaip žadėta, sukursime Sveiki.js failą ir paleiskite jį naudodami mazgą. Paprasto teksto faile, vadinamas Sveiki.js, mes rašome šią eilutę:

konsolė.žurnalas („Labas, pasauli!“);

Dabar išsaugokite failą ir atidarykite terminalą tame pačiame kataloge kaip ir tas failas, ir paleiskite šią komandą:

$ mazgas labas.js
Arba galite paleisti
$ mazgas labas

Tai suteiks jums norimą išvestį "Labas pasauli". Visai kaip vanilės „JavaScript“. Bet tikrai galime padaryti geriau ..

Skirtingai nuo PHP pagrįstų programų, kurioms reikia „Apache“ ar „Nginx“ ar kitos žiniatinklio serverio programos, kad ji veiktų viršuje, mazge mes rašome savo „http“ maršrutus, konfigūruojame prievadus ir pagrindinius pavadinimus ir apdorojame HTTP užklausas, kad gautume tinkamus atsakymus.

Skamba kaip daugybė darbų, tačiau tai tik pradinė kliūtis mokymosi kreivėje, o kai gausite daug dalykų, galėsite suprasti žiniatinklio programas giliau nei bet kada anksčiau. Sukurkime žiniatinklio serverį, kuris klausosi 3000 prievado „localhost“ ir kaip atsakymą grąžina teksto failą. Sukurkite failą programa.js turinį:

const http = reikalauti ('http');
const hostname = '127.0.0.1 ';
konst portas = 3000;
const serveris = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader („Content-Type“, „text / plain“);
res.pabaiga ('Sveikas pasaulis \ n');
);
serverio.klausytis (prievadas, pagrindinio kompiuterio vardas, () =>
konsolė.žurnalas ('Serveris veikia adresu: http: // $ hostname: $ port /');
);

Prieš susipažindami su kodo informacija, išsaugokite šį failą ir atidarykite terminalą tame pačiame kataloge kaip ir failas, tada paleiskite:

„$ node“ programa

Tai vykdys programa.js failą ir gausite išvestį taip:

Atidarykite žiniatinklio naršyklę ir apsilankykite http: // localhost: 3000 / arba http: // 127.0.0.1: 3000 / norėdami pamatyti paprastą „Hello World“ tekstą savo naršyklės lange.

Taigi ką mes ką tik padarėme? Na, jei esate susipažinę su „JavaScript“, tikriausiai galite suprasti kai kuriuos iš jų ..

The Pirma eilė importuoja „http“ modulį, kuris yra integruotas modulis, pateiktas kartu su „Node“, ir tai padeda mums išklausyti žiniatinklio lizdus užklausų, apdoroti http užklausas ir pateikti tinkamus atsakymus.

The antra ir trečia eilutė nustato pagrindinio kompiuterio vardas į „127.0.0.1 ' ir uostas  į 3000. Tai reiškia, kad galime toliau naudoti kintamąjį pagrindinio kompiuterio vardas ir uostas, užuot įvedę visą IP adresą. Vėliau, kai jūs iš tikrųjų diegiate jį serveryje, pakeisite jį serverio IP adresu ir prievado numeriu, pvz., 80 arba 443, jei tai yra žiniatinklio serveris. Raktinis žodis konst užtikrina, kad kintamojo negalima pakeisti kitur programoje.

The linijos nuo keturių iki aštuonių  sukuria serverio objektą, kuris prašymą priima kaip reikalauti ir suteikia atsakymą kaip res.

Atsakymas turi statusCode atributą, res.statusCode kuris yra nustatytas į 200, kurį klientas interpretuoja kaip „Gerai“ būseną. Klaidų kodai yra 400 ir 500, pavyzdžiui, klaida 404 yra šaltinio kodas nerastas. Panašiai setHeader atributas nustatomas kaip „text / plain“, o tai reiškia, kad klientas gaus paprastą tekstą. Galite tai nustatyti kaip HTML ir jūsų naršyklė pateiks bet kokį galiojantį HTML, su kuriuo atsako serveris. Ir galas atributas yra tiesiog tekstas, kurį norime grąžinti. Užuot turėję čia eilutę, realaus pasaulio programos turės statinį ar kitą HTML failą .js failą kliento naršyklei, o tai būtų daug naudingesnis atsakymas.

Galiausiai paskutinės trys eilutės paleidžia serverį ir išspausdina pranešimą, kuriame sakoma, kad jis yra aktyvus tam tikram kompiuterio vardui ir prievado numeriui, kurį nustatė konst iš pradžių pareiškimus. Kiekvieną kartą, kai nurodytu kompiuterio pavadinimu gaunama nauja užklausa: prievado derinio serveris pateikia atsakymus su atitinkamais atsakymą objektas.

Ką tai reiškia?

Kad žinotumėte pasekmes, jums nereikia suprasti aukščiau minėto kodo. Dėl tokių nuostabių rėmų, kaip „Angular“ ir „React“, priekinėje dalyje jau turime „JavaScript“. Be to, mes taip pat turime „back-end“ funkcijų, iškeptų mazge.js etosas.

Tokios žiniatinklio sistemos kaip „Express“.js gali padėti jums parašyti dar sudėtingesnę programą ant „Node“.js. Gaunant duomenis iš duomenų bazės, kuriant API ir valdiklio sąsają, galima rašyti viena kalba.

V8 galia

Nepaisant to, kad tai viena kalba, vis tiek reikia daug ko išmokti. Skirtingos sistemos ir moduliai turi skirtingas funkcijas. Yra daugybė versijų, kurias reikia stebėti. Ar yra kokių nors kitų naudos naudojant mazgą.js ekosistema.

Vienas iš svarbiausių argumentų, pagrindžiančių tai, kad V8 variklis puikiai palaiko asinchroninį, neužblokuojantį įvestį / išvestį. Tai iš esmės reiškia, kad vienas procesas, vykdomas jūsų sistemos atmintyje, gali apdoroti kelias gaunamas užklausas. Tai maždaug reiškia tai, kad jei viena užklausa yra apdorojama, o kita užklausa gaunama, mazgas gali pradėti apdoroti naują užklausą, net jei pirmasis prašymas dar nebaigtas.

Be to, vienas jūsų atmintyje vykdomas procesas yra atsakingas už visų gaunamų užklausų tvarkymą. Skirtingai nuo PHP pagrįstų programų, kurios sukuria naują procesą kiekvienai naujai gaunamai užklausai.

Tikimės, kad šios įžangos pakako, kad paskatintumėte jus sužinoti apie „Node“.js. Žinokime, ar norite išsamesnių pamokų panašiomis temomis, sekdami mus „Twitter“, „Facebook“ ir „YouTube“.

5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...
Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...