Node.jsi lühijuhend 2019. aastal

Sissejuhatus

Mis on Node.js?

Node.js on nii avatud lähtekoodiga kui ka tasuta ning seda kasutatakse erinevatel eesmärkidel. Kui nimetada vaid mõnda, on Node.js dünaamilise sisu teenindamiseks väga tõhus. Kui soovite ajaveebi käivitamiseks kiiret ja tõhusat viisi, võib Node.js seda protsessi lihtsustada. JavaScriptil põhinevat Node.js-i saavad kasutada enamik veebiarendajaid, kes soovivad teha serveripoolseid toiminguid ilma täiesti uut keelt õppimata. Node.js on ka väga mälusäästlik, käsitleb kõiki päringuid asünkroonselt ja kaasasoleval paketihalduril on juurdepääs maailma suurimale hoidlale.

Eelised

Node.js-il on mitmeid eeliseid, näiteks järgmised.

  • Toetab algselt asünkroonseid ülesandeid. Näiteks kui kasutaja esitab päringu Node.js-i kirjutatud skriptile, jääb Node.js praeguse päringu töötlemise ajal uutele päringutele kättesaadavaks.
  • Toetab enamikku Linuxi distributsioone ja sellel on kasutamiseks saadaval suur hulk eelnevalt kirjutatud pakette.
  • Sellel on sisseehitatud enamik põhifunktsioone, mida vajate. See hõlmab failide redigeerimise, teisaldamise või kustutamise võimalust; samuti suhelda MySQL-i, MongoDB-ga ja paljude muude asjadega, ilma et peaksite kasutama kaasasolevat paketihaldurit.
  • Kasutab maailma suurimat pakettide hoidlat: npm.
  • Sarnane koodi süntaks JavaScriptiga. Node.js on sisuliselt serveripoolne JS.

Puudused

Kahjuks on Node.js-il siiski mõned puudused:

  • Kuna tegemist on suhteliselt uue keelega, värskendatakse selle koodibaasi sageli PHP-ga võrreldes. See tähendab, et kasutatavad kõned või meetodid ei pruugi Node.js-i eelmises ega tulevases versioonis töötada.
  • Node.js-i jaoks võib koodi kirjutamine aeg-ajalt kauem aega võtta, kuna see ei saa lihtsalt teisi teeke kasutada. Näiteks ImageMagick on populaarne PHP-s kasutatav teek, mida Node.js ei toeta.
  • Erinevalt Java-st on erandeid keeruline rakendada. See tähendab, et tuhandete ridade pikkuse JS-faili korral on koodist peaaegu võimatu vigu leida.

Node.js kasutamine

Eeltingimused

  • Kõik kaasaegsed Ubuntu, CentOS-i või Debiani versioonid on installitud. See artikkel hõlmab ainult CentOS-i installiprotsessi.
  • Vähemalt 256 MB RAM. Pange tähele, see arv sõltub teie kasutatavast rakendusest.
  • Selle õpetuse jaoks vajate ka tekstiredaktorit, näiteks Vim või Nano.

Node'i installimine

Värskendage oma paketihaldurit:

yum update -y

Installige Node.js:

yum install nodejs -y

Kui teil palutakse võti importida, sisestage Yjätkamiseks.

Veenduge, et installimine oleks edukas:

node -v
npm -v

Põhilised failitüüpide kokkulepped

Kõik Node.js-failid peavad lõppema tähega .js. Näiteks võib lihtsat ruutlahendajat nimetada Quadratic.js. Seda öeldes võite seda nimetada kuidas iganes soovite, kui esimene nõue on täidetud.

API

Programmeerimiskeeltel on tavaliselt APIsaadaval ja Node.js pole erand. Kui olete eksinud või peate leidma funktsiooni (või meetodi) süntaksi, vaadake dokumenti Node.js .

MÄRKUS. Nagu varem mainitud, on Node.js-il koodibaas, mida pidevalt uuendatakse ja seetõttu ei pruugi siinsed funktsioonid hilisemates versioonides enam töötada.

Oma esimeste programmide loomine

Tere, Maailm!

Selles jaotises õpime tundma kõige lihtsamat programmi, mida saate luua. Alustuseks minge /~või /root. Esimese projekti loomine on sama lihtne kui JS-faili loomine:

nano HelloWorld.js

Kui olete oma lemmiktekstiredaktoris, sisestage järgmine:

// For reference, comments are made using '//' added before or after a line. Comments are ignored by the Node.js interpreter.
console.log("Hello, world!"); // console.log() simply outputs text to the terminal.

Välju ja salvesta.

Nüüd käivitage oma programm:

node HelloWorld.js

Näete järgmist väljundit:

[root@test-server ~]# node HelloWorld.js
Hello, world!

Lihtne matemaatika ja muutujad

Selles jaotises õpime tegema põhilisi matemaatilisi tehteid. Alustuseks minge /rootuuesti oma kataloogi ja looge fail nimega MathTest.js:

nano MathTest.js 

Kleepige faili järgmine kood:

var a = 5; // Variables are declared using 'var variableName = value'. The value can be a string, integer, boolean value (ie. true/false) or an object. 
var b = 10;
var c = "Hello, world!";

console.log(c); // This line will output the contents of variable c.
console.log("a = " + a + ", b = " + b); // This line prints out the respective values for a & b.
console.log("a + b = " + (a + b)); // This line prints out the result of (a + b) or (5 + 10). The result should be 15.

Salvesta ja välju.

Kui käivitate oma MathTest.jsprogrammi, näete järgmist:

[root@test-server ~]# node MathTest.js
Hello, world!
a = 5, b = 10
a + b = 15

Meie esimese veebiserveri käivitamine

Selles jaotises õpime, kuidas käivitada Node.js veebiserver. Alustuseks looge fail nimega WebTest.js:

nano WebTest.js

Kleepige järgmine kood:

 // This line includes the HTTP module. Having it included allows us to use it's methods and functions to start a working webserver.
var http = require("http");
var a = 5, b = 10; 

http.createServer(function (request, response) {
    // This will simply output "Request received!" to your terminal when you visit your page.
    console.log("Request received!");

    // This line tells your browser that it should be expecting HTML content to be returned.
    response.writeHead(200, {'Content-Type': 'text/html'}); 

    // The following line adds "Hello, world! a + b = 15" to the body. The <i></i> tags will italicize the text. 
    response.write("<i>Hello, world! a + b = " + (a + b) + "</i>"); 

    // Finally, we'll tell the browser that we're done sending data with 'response.end()' below.
    response.end(); 
}).listen(8080);

Kui olete faili salvestanud, käivitage uus programm:

[root@test-server ~]# node WebTest.js

Nüüd külastage http://(YOUR_SERVER_IP):8080. Taotluse lubamiseks veenduge, et tulemüür oleks õigesti konfigureeritud.

Näete Request received!oma terminalis ja brauseris järgmist:

Hello, world! a + b = 15

MÄRKUS . Sulgemiseks (väljalülitamiseks) WebTest.jskasutage järgmist klahvikombinatsiooni: CTRL+ C.

Nüüd, kui mõistate mõningaid põhitõdesid, tutvustatakse järgmises jaotises kolmanda osapoole moodulite kasutamist, mis on installitud kaudu npm.

Kolmanda osapoole mooduli installimine ja selle kasutamine programmis

Selles jaotises laiendame oma esimest "Tere, maailm!" programm. Alustuseks installime paketi nimega colo . See pakett võimaldab meil kasutada terminalis värve.

Alustuseks kasutame npmpaketi installimiseks:

npm i colo  

Võrdluseks võite paketi eemaldada npm remove colo

Kui protsess on lõppenud, on teil juurdepääs colopaketile. Nüüd, kui olete avanud HelloWorld.js, lisage ülaossa järgmine rida:

var colour = require("colo");

Kui näete console.log(...), kapseldage "Tere, maailm!" sulgudega. Sulgude algusesse lisage colour.red.bold:

console.log(colour.red.bold("Hello, world!"));

Teie lõplik kood näeb välja järgmine:

var colour = require("colo");
console.log(colour.red.bold("Hello, world!"));

Salvestage, väljuge ja käivitage programm. Väljund on täpselt sama, mis varem, välja arvatud "Tere, maailm!" on nüüd teie terminalis punane (ja paksus kirjas).

Lõplikud märkused

Õnnitleme kõigi põhiprogrammide läbimise puhul. See peaks andma teile teadmisi (vähemalt enamiku) muudes õpetustes kasutatava koodi tõlgendamiseks. Loodetavasti ei peatu te siin – Node.js-iga saate teha palju muid asju!

Kui leiate, et Node.js pole teie jaoks õige keel, saate selle eemaldada järgmiselt.

yum remove nodejs -y

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit