Cum să scrieți prima aplicație Node.js în Linux


Tendințele de dezvoltare web s-au schimbat drastic în ultimii ani și, în calitate de dezvoltator web, pentru a fi în vârful jocului tău, este important să fii la curent cu cele mai noi tehnologii.

JavaScript este limbajul de programare actual; este fără îndoială cea mai populară tehnologie folosită de dezvoltatorii full stack.

Cadrele web JavaScript au devenit o soluție magică pentru o dezvoltare web mai rapidă, cu eficiență absolută, siguranță și costuri minime. Sunt destul de sigur că ați auzit despre Node JavaScript (denumit în mod obișnuit Node.js sau pur și simplu Node), există zgomot despre asta pe internet.

În acest articol, vă voi arăta cum să începeți să dezvoltați aplicații în JavaScript folosind Node.js în Linux. Dar mai întâi, să obținem o scurtă prezentare a Node.js.

Ce este Node.js?

Node.js este o sursă deschisă, ușor și eficient de rulare JavaScript, construit pe motorul JavaScript V8 al Chrome. Este proiectat fără fire de execuție (single-threaded) și are o implementare similară cu Twisted, un motor de rețea construit folosind Python sau Event Machine, o bibliotecă de procesare a evenimentelor pentru programele Ruby.

Inima Node.js se bazează pe programarea bazată pe evenimente; Prin urmare, un programator ar trebui să înțeleagă ce evenimente sunt disponibile și cum să răspundă la ele.

Gestionarea pachetelor sub Node.js

Node.js folosește managerul de pachete JavaScript și ecosistemul numit „npm”, care conține o colecție imensă de biblioteci open source gratuite. Acceptă dezvoltarea de software modulară. Îl puteți folosi pentru a instala pachete de noduri, a partaja, a distribui codul și a gestiona dependențele pachetelor.

De ce este important Node.js?

Node.js este puternic și, prin urmare, important din următoarele motive:

  • Utilizează un model de execuție I/O asincron, bazat pe evenimente, care nu blochează, care îmbunătățește debitul unei aplicații și acceptă scalabilitatea pentru aplicațiile web din lumea reală.
  • Are un singur thread, astfel încât poate folosi doar 1 CPU la un moment dat.
  • O aplicație web node.js este un server web complet, de exemplu Nginx sau Apache.
  • Acceptă fire de execuție prin API-ul child_process.fork(), pentru generarea procesului copil și oferă, de asemenea, un modul de cluster.

Cu această scurtă introducere, trebuie să fii nerăbdător să scrii primul tău program JavaScript. Cu toate acestea, mai întâi, trebuie să instalați pachetele Node.js și NPM pe sistemul dvs. Linux utilizând următorul ghid.

  1. Instalați cea mai recentă versiune Nodejs și NPM în sistemele Linux

Cum să creați prima aplicație Node.js în Linux

După ce ați instalat Node.js, sunteți gata de plecare. Mai întâi începeți prin a crea un director care va stoca fișierele aplicației.

sudo mkdir -p /var/www/myapp

Apoi mutați-vă în acel director și creați un fișier package.json pentru aplicația dvs. Acest fișier vă ajută ca o mică documentație pentru proiectul dvs.: numele proiectului, autorul, lista pachetelor de care depinde și așa mai departe.

cd /var/www/myapp
npm init

Aceasta vă va adresa o serie de întrebări, pur și simplu răspundeți așa cum este descris mai jos și apăsați pe [Enter]. Rețineți că cele mai importante lucruri din package.json sunt câmpurile de nume și versiune, așa cum este explicat mai jos.

  • numele pachetului – numele aplicației dvs., implicit este numele directorului.
  • versiune – versiunea aplicației dvs.
  • descriere – scrieți o scurtă descriere pentru aplicația dvs.
  • punct de intrare – setează fișierul pachetelor implicite pentru a fi executat.
  • comanda de testare – folosită pentru a crea un script de testare (implicit este un script gol).
  • magazin Git – definiți un depozit Git (dacă aveți unul).
  • cuvinte cheie – setați cuvinte cheie, importante pentru ca alți utilizatori să vă identifice pachetul pe npm.
  • autor – specifică numele autorului, pune numele tău aici.
  • licență – specificați o licență pentru aplicația/pachetul dvs.

Apoi, creați un fișier server.js.

sudo vi server.js

Copiați și inserați codul de mai jos în el.

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...!');

Apoi, porniți aplicația folosind următoarea comandă.

node server.js
OR
npm start

Apoi, deschideți un browser web și accesați aplicația dvs. web, care nu face nimic altceva decât să imprime șirul „Bună lume! ”, folosind adresa:

http://localhost:3333

În codul nostru de mai sus, evenimentul principal care este procesat este o solicitare HTTP prin modulul HTTP.

Modulul HTTP Nodejs

În Node.js, modulele sunt mai degrabă ca biblioteci JavaScript, ele conțin funcții pe care le puteți reutiliza în aplicația dvs. Puteți utiliza module încorporate, treizeci de module de petrecere sau puteți crea propriile module.

Pentru a apela module din aplicația dvs., utilizați funcția require așa cum se arată.

var http = require('http');

Odată ce modulul http este inclus, acesta va crea un server care ascultă pe un anumit port (3333 în acest exemplu). Metoda http.creatServer creează serverul http real care acceptă o funcție (care este invocată atunci când un client încearcă să acceseze aplicația) ca argument.

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);

Funcția din http.createServer are două argumente: req(request) și res(response). Argumentul req este cererea de la un utilizator sau client, iar argumentul res trimite un răspuns clientului.

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

Partea finală a codului trimite rezultate către consolă, odată ce serverul este lansat.

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Rutare în Node.js

În această secțiune, voi explica unul dintre cele mai importante concepte din programarea Node.js cunoscut sub numele de rutare (comparabil cu rutarea în rețele de computere: proces de găsire a unei căi pentru trafic într-o rețea).

Aici, rutarea este o tehnică de gestionare a cererii unui client; difuzarea conținutului pentru care clientul a solicitat, așa cum este specificat în URL. O adresă URL este alcătuită dintr-o cale și un șir de interogare.

Pentru a vedea șirul de interogare al unui client, putem adăuga rândurile de mai jos în răspunsul nostru.

res.write(req.url);
res.end()

Mai jos este noul cod.

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...!');

Salvați fișierul și porniți din nou aplicația folosind următoarea comandă.

node server.js
OR
npm start

Dintr-un browser web, tastați adrese URL diferite care vor fi afișate după cum se arată mai jos.

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

Acum, vom crea un site foarte mic pentru Tecmint, cu o pagină de pornire, pagini despre și autori. Vom afișa câteva informații pe aceste pagini.

Deschideți fișierul server.js pentru editare și adăugați codul de mai jos în el.

//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....');

În codul de mai sus, am văzut cum să scriem comentarii în Node.js folosind caracterele // și am introdus, de asemenea, instrucțiuni switch și case pentru rutarea solicitărilor clientului.

Salvați fișierul, porniți serverul și încercați să accesați diferitele pagini.

Atât deocamdată! Puteți găsi mai multe informații pe site-urile web Nodejs și NPM.

Citiți și: Cum să instalați PM2 pentru a rula aplicațiile Node.js pe Linux

Concluzie

Node.js se ridică la noi cote astăzi, a făcut dezvoltarea full-stack mult mai ușoară decât înainte. Filosofia unică a programării bazate pe evenimente vă permite să creați procese și servere web extrem de rapide, eficiente și scalabile.

În continuare, vom explica cadrele Node.js, care își extind capacitățile native pentru dezvoltarea rapidă și fiabilă a aplicațiilor web/mobile. Împărtășiți-vă părerile despre acest articol prin secțiunea de comentarii de mai jos.