Ricerca nel sito web

Come scrivere la tua prima app Node.js in Linux


Le tendenze dello sviluppo web sono cambiate drasticamente negli ultimi anni e come sviluppatore web, per essere al top, è importante rimanere aggiornato con le ultime tecnologie.

JavaScript è il linguaggio di programmazione di tendenza attualmente disponibile; è senza dubbio la tecnologia più popolare utilizzata dagli sviluppatori full stack.

I framework web JavaScript sono diventati una soluzione magica per uno sviluppo web più rapido con assoluta efficienza, sicurezza e costi ridotti al minimo. Sono abbastanza sicuro che tu abbia sentito parlare di Node JavaScript (comunemente indicato come Node.js o semplicemente Node), c'è molto fermento a riguardo su internet.

In questo articolo ti mostrerò come iniziare a sviluppare applicazioni in JavaScript utilizzando Node.js in Linux. Ma prima, facciamo una breve introduzione a Node.js.

Cos'è Node.js?

Node.js è un runtime JavaScript open source, leggero ed efficiente, basato sul motore JavaScript V8 di Chrome. È progettato senza thread (thread singolo) e ha un'implementazione simile a Twisted, un motore di rete creato utilizzando Python o Event Machine, una libreria di elaborazione di eventi per programmi Ruby.

Il cuore di Node.js si basa sulla programmazione basata sugli eventi; un programmatore dovrebbe quindi capire quali eventi sono disponibili e come rispondere ad essi.

Gestione dei pacchetti sotto Node.js

Node.js utilizza il gestore di pacchetti JavaScript e l'ecosistema chiamato “npm ”, che contiene un'immensa raccolta di librerie open source gratuite. Supporta lo sviluppo di software modulare. Puoi usarlo per installare pacchetti di nodi, condividere, distribuire il tuo codice e gestire le dipendenze dei pacchetti.

Perché Node.js è importante?

Node.js è potente e quindi importante per i seguenti motivi:

  • Utilizza un modello di esecuzione I/O asincrono basato sugli eventi e non bloccante, che migliora il throughput di un'applicazione e supporta la scalabilità per le applicazioni web del mondo reale.
  • È a thread singolo, quindi può utilizzare solo 1 CPU alla volta.
  • Un'applicazione web node.js è un server web completo, ad esempio Nginx o Apache.
  • Supporta i thread tramite l'API child_process.fork(), per generare processi secondari e offre anche un modulo cluster.

Con questa breve introduzione, devi essere ansioso di scrivere il tuo primo programma JavaScript. Tuttavia, per prima cosa, devi installare i pacchetti Node.js e NPM sul tuo sistema Linux utilizzando la seguente guida.

  1. Installa l'ultima versione di Nodejs e NPM nei sistemi Linux

Come creare la tua prima app Node.js in Linux

Dopo aver installato Node.js, sei pronto per iniziare. Per prima cosa inizia creando una directory in cui verranno archiviati i file dell'applicazione.

sudo mkdir -p /var/www/myapp

Quindi spostati in quella directory e crea un file package.json per la tua applicazione. Questo file aiuta come piccola documentazione per il tuo progetto: nome del progetto, autore, elenco dei pacchetti da cui dipende e così via.

cd /var/www/myapp
npm init

Ti verranno poste una serie di domande, rispondi semplicemente come descritto di seguito e premi [Invio]. Tieni presente che le cose più importanti in package.json sono i campi del nome e della versione, come spiegato di seguito.

  • nome pacchetto: il nome della tua app, per impostazione predefinita è il nome della directory.
  • version: versione della tua app.
  • descrizione: scrivi una breve descrizione della tua app.
  • punto di ingresso: imposta il file dei pacchetti predefinito da eseguire.
  • comando test: utilizzato per creare uno script di test (per impostazione predefinita è uno script vuoto).
  • repository git: definisci un repository Git (se ne hai uno).
  • parole chiave: imposta parole chiave, importanti per gli altri utenti per identificare il tuo pacchetto su npm.
  • autore – specifica il nome dell'autore, inserisci qui il tuo nome.
  • licenza: specifica una licenza per la tua app/pacchetto.

Successivamente, crea un file server.js.

sudo vi server.js

Copia e incolla il codice qui sotto.

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

Successivamente, avvia l'applicazione utilizzando il seguente comando.

node server.js
OR
npm start

Successivamente, apri un browser web e accedi alla tua app web, che non fa altro che stampare la stringa ”Hello world! ", utilizzando l'indirizzo:

http://localhost:3333

Nel nostro codice sopra, l'evento principale che viene elaborato è una richiesta HTTP tramite il modulo HTTP.

Il modulo HTTP Nodejs

In Node.js, i moduli sono più simili a librerie JavaScript, contengono funzioni che puoi riutilizzare nella tua app. Puoi utilizzare moduli integrati, moduli di trenta parti o crearne di tuoi.

Per chiamare i moduli nella tua app, utilizza la funzione di richiesta come mostrato.

var http = require('http');

Una volta incluso il modulo http, creerà un server in ascolto su una porta particolare (3333 in questo esempio). Il metodo http.creatServer crea il server http effettivo che accetta una funzione (che viene invocata quando un client tenta di accedere all'app) come argomento.

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

La funzione in http.createServer ha due argomenti: req(request) e res(response). L'argomento req è la richiesta di un utente o client e l'argomento res invia una risposta al client.

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

La parte finale del codice invia l'output alla console, una volta avviato il server.

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

Routing in Node.js

In questa sezione spiegherò uno dei concetti più importanti della programmazione Node.js noto come routing (paragonabile al routing in una rete di computer: processo di ricerca di un percorso per il traffico in una rete).

In questo caso, il routing è una tecnica per gestire la richiesta di un cliente; servire il contenuto richiesto dal cliente, come specificato nell'URL. Un URL è costituito da un percorso e da una stringa di query.

Per visualizzare la stringa di query della richiesta di un cliente, possiamo aggiungere le righe seguenti nella nostra risposta.

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

Di seguito è riportato il nuovo codice.

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 il file e avvia nuovamente l'applicazione utilizzando il comando seguente.

node server.js
OR
npm start

Da un browser Web, digitare diversi URL che verranno visualizzati come mostrato di seguito.

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

Ora creeremo un sito web davvero piccolo per Tecmint con una home page, informazioni e pagine degli autori. Mostreremo alcune informazioni in queste pagine.

Apri il file server.js per la modifica e aggiungi il codice seguente.

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

Nel codice sopra, abbiamo visto come scrivere commenti in Node.js utilizzando i caratteri // e abbiamo anche introdotto le istruzioni switch e case per instradare le richieste dei client.

Salvare il file, avviare il server e provare ad accedere alle varie pagine.

Per ora è tutto! Puoi trovare maggiori informazioni sui siti web Nodejs e NPM.

Leggi anche: Come installare PM2 per eseguire le app Node.js su Linux

Conclusione

Node.js sta raggiungendo nuovi massimi oggi, ha reso lo sviluppo full-stack molto più semplice di prima. La sua filosofia unica di programmazione basata sugli eventi ti consente di creare processi e server web velocissimi, efficienti e scalabili.

Successivamente, spiegheremo i framework Node.js, che estendono le sue capacità native per lo sviluppo rapido e affidabile di applicazioni web/mobili. Condividi i tuoi pensieri su questo articolo tramite la sezione commenti qui sotto.