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.

  1. 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.