Kako napisati svoju prvu Node.js aplikaciju u Linuxu
Trendovi web-razvoja drastično su se promijenili u posljednjih nekoliko godina i kao web programer, da biste bili na vrhu svoje igre, važno je biti u tijeku s najnovijim tehnologijama.
JavaScript trenutno je popularan programski jezik; to je bez sumnje najpopularnija tehnologija koju koriste full stack programeri.
JavaScript web okviri postali su čarobno rješenje za brži web razvoj uz apsolutnu učinkovitost, sigurnost i minimizirane troškove. Sasvim sam siguran da ste čuli za Node JavaScript (obično se naziva Node.js ili jednostavno Node), šuška se o tome na internetu.
U ovom ću vam članku pokazati kako započeti razvijati aplikacije u JavaScriptu koristeći Node.js u Linuxu. Ali prvo, idemo ukratko predstaviti Node.js.
Što je Node.js?
Node.js je open source, lagano i učinkovito JavaScript runtime izgrađeno na Chromeovom V8 JavaScript motoru. Dizajniran je bez niti (s jednom niti) i ima sličnu implementaciju kao Twisted, mrežni mehanizam izgrađen pomoću Pythona ili Event Machinea, biblioteke za obradu događaja za Ruby programe.
Srce Node.js temelji se na programiranju vođenom događajima; programer bi stoga trebao razumjeti koji su događaji dostupni i kako na njih odgovoriti.
Upravljanje paketima pod Node.js
Node.js koristi upravitelj paketa JavaScript i ekosustav pod nazivom “npm”, koji sadrži ogromnu zbirku besplatnih biblioteka otvorenog koda. Podržava modularni razvoj softvera. Možete ga koristiti za instaliranje paketa čvorova, dijeljenje, distribuciju vašeg koda i upravljanje ovisnostima paketa.
Zašto je Node.js važan?
Node.js je moćan i stoga važan zbog sljedećih razloga:
- Koristi asinkroni I/O model izvršenja vođen događajima, koji ne blokira, što poboljšava propusnost aplikacije i podržava skalabilnost za web aplikacije u stvarnom svijetu.
- To je single thread tako da može koristiti samo 1 CPU u bilo kojem trenutku.
- Node.js web aplikacija je kompletan web poslužitelj, na primjer Nginx ili Apache.
- Podržava niti putem API-ja child_process.fork() za stvaranje podređenog procesa, a nudi i modul klastera.
Uz ovaj kratki uvod, sigurno jedva čekate napisati svoj prvi JavaScript program. Međutim, prije svega morate instalirati pakete Node.js i NPM na svoj Linux sustav pomoću sljedećeg vodiča.
- Instalirajte najnoviju verziju Nodejs i NPM u Linux sustavima
Kako stvoriti svoju prvu Node.js aplikaciju u Linuxu
Nakon što instalirate Node.js, spremni ste za rad. Najprije počnite stvaranjem direktorija koji će pohranjivati vaše aplikacijske datoteke.
sudo mkdir -p /var/www/myapp
Zatim prijeđite u taj direktorij i izradite datoteku package.json
za svoju aplikaciju. Ova datoteka pomaže kao mala dokumentacija za vaš projekt: naziv projekta, autor, popis paketa o kojima ovisi i tako dalje.
cd /var/www/myapp
npm init
Ovo će vam postaviti niz pitanja, jednostavno odgovorite kako je opisano u nastavku i pritisnite [Enter]. Imajte na umu da su najvažnije stvari u package.json
polja naziva i verzije kao što je objašnjeno u nastavku.
- naziv paketa – naziv vaše aplikacije, zadano je naziv direktorija.
- verzija – verzija vaše aplikacije.
- opis – napišite kratak opis svoje aplikacije.
- ulazna točka – postavlja zadanu datoteku paketa koja će se izvršiti.
- testna naredba – koristi se za izradu testne skripte (zadano je prazna skripta).
- git repozitorij – definirajte Git repozitorij (ako ga imate).
- ključne riječi – postavite ključne riječi, važne za druge korisnike da identificiraju vaš paket na npm-u.
- autor – navodi ime autora, ovdje unesite svoje ime.
- licenca – odredite licencu za svoju aplikaciju/paket.
Zatim izradite datoteku server.js
.
sudo vi server.js
Kopirajte i zalijepite kod ispod u njega.
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');
Zatim pokrenite svoju aplikaciju pomoću sljedeće naredbe.
node server.js
OR
npm start
Zatim otvorite web-preglednik i pristupite svojoj web-aplikaciji koja ne radi ništa osim što ispisuje niz ”Zdravo svijete! ” koristeći adresu:
http://localhost:3333
U našem gornjem kodu, glavni događaj koji se obrađuje je HTTP zahtjev putem HTTP modula.
Nodejs HTTP modul
U Node.js moduli su više poput JavaScript biblioteka, sadrže funkcije koje možete ponovno koristiti u svojoj aplikaciji. Možete koristiti ugrađene module, module trideset strana ili izraditi vlastite.
Za pozivanje modula u vašoj aplikaciji upotrijebite funkciju zahtijevanja kao što je prikazano.
var http = require('http');
Nakon što je http modul uključen, on će stvoriti poslužitelj koji sluša na određenom priključku (3333 u ovom primjeru). Metoda http.creatServer stvara stvarni http poslužitelj koji prihvaća funkciju (koja se poziva kada klijent pokuša pristupiti aplikaciji) kao argument.
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!');
}).listen(3333);
Funkcija u http.createServer ima dva argumenta: req(request) i res(response). Argument req je zahtjev korisnika ili klijenta, a argument res šalje odgovor klijentu.
res.writeHead(200, { 'Content-Type': 'text/plain' }); #This is a response HTTP header
res.end('Hello World!');
Završni dio koda šalje izlaz na konzolu, nakon što se poslužitelj pokrene.
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');
Usmjeravanje u Node.js
U ovom odjeljku objasnit ću jedan od najvažnijih koncepata u okviru Node.js programiranja poznat kao usmjeravanje (usporedivo s usmjeravanjem u računalnim mrežama: proces pronalaženja putanje za promet u mreži).
Ovdje je usmjeravanje tehnika rukovanja zahtjevom klijenta; posluživanje sadržaja koji je klijent zatražio, kao što je navedeno u URL-u. URL se sastoji od staze i niza upita.
Da bismo vidjeli niz upita klijenta, možemo dodati donje retke u naš odgovor.
res.write(req.url);
res.end()
Ispod je novi kod.
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write(req.url);
res.end();
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');
Spremite datoteku i ponovno pokrenite aplikaciju pomoću sljedeće naredbe.
node server.js
OR
npm start
Iz web-preglednika upišite različite URL-ove koji će se prikazati kao što je prikazano u nastavku.
http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors
Sada ćemo stvoriti stvarno malu web stranicu za Tecmint s početnom stranicom, stranicama o i autorima. Prikazat ćemo neke informacije na ovim stranicama.
Otvorite datoteku server.js
za uređivanje i dodajte donji kod u nju.
//include http module
var http = require('http');
http.createServer(function(req,res){
//store URL in variable q_string
var q_string = req.url;
switch(q_string) {
case '/':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Welcome To linux-console.net!')
res.end();
break;
case '/about':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('About Us');
res.write('\n\n');
res.write('linux-console.net - Best Linux HowTos on the Web.');
res.write('\n');
res.end('Find out more: https://linux-console.net/who-we-are/');
break;
case '/tecmint/authors':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Tecmint Authors');
res.write('\n\n');
res.end('Find all our authors here: https://linux-console.net/who-we-are/');
break;
default:
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
break;
}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');
U gornjem kodu vidjeli smo kako napisati komentare u Node.js pomoću znakova //
i također smo predstavili naredbe switch i case za usmjeravanje zahtjeva klijenta.
Spremite datoteku, pokrenite poslužitelj i pokušajte pristupiti različitim stranicama.
To je to za sada! Više informacija možete pronaći na web stranicama Nodejs i NPM.
Pročitajte također: Kako instalirati PM2 za pokretanje Node.js aplikacija na Linuxu
Zaključak
Node.js danas se uzdiže do novih vrhunaca, učinio je full-stack razvoj puno lakšim nego prije. Njegova jedinstvena filozofija programiranja vođenog događajima omogućuje vam stvaranje munjevito brzih, učinkovitih i skalabilnih web procesa i poslužitelja.
Zatim ćemo objasniti okvire Node.js koji proširuju izvorne mogućnosti za brz i pouzdan razvoj web/mobilnih aplikacija. Podijelite svoje mišljenje o ovom članku putem odjeljka za komentare u nastavku.