Com escriure la vostra primera aplicació Node.js a Linux


Les tendències de desenvolupament web han canviat dràsticament durant els últims anys i, com a desenvolupador web, per estar al capdavant del vostre joc, és important estar al dia amb les últimes tecnologies.

JavaScript és el llenguatge de programació de tendència actual; és sens dubte la tecnologia més popular utilitzada pels desenvolupadors de full stack.

Els marcs web de JavaScript s'han convertit en una solució màgica per a un desenvolupament web més ràpid amb una eficiència absoluta, seguretat i costos minimitzats. Estic segur que heu sentit a parlar de Node JavaScript (comunament conegut com a Node.js o simplement Node), hi ha molta gent al respecte a Internet.

En aquest article, us mostraré com començar a desenvolupar aplicacions en JavaScript mitjançant Node.js a Linux. Però primer, fem una breu introducció a Node.js.

Què és Node.js?

Node.js és un temps d'execució de JavaScript de codi obert, lleuger i eficient construït al motor JavaScript V8 de Chrome. Està dissenyat sense fils (un sol fil) i té una implementació similar a Twisted, un motor de xarxa construït amb Python o Event Machine, una biblioteca de processament d'esdeveniments per a programes Ruby.

El cor de Node.js es basa en la programació basada en esdeveniments; Per tant, un programador hauria d'entendre quins esdeveniments estan disponibles i com respondre-hi.

Gestió de paquets a Node.js

Node.js utilitza l'ecosistema i gestor de paquets JavaScript anomenat \npm, que conté una immensa col·lecció de biblioteques gratuïtes de codi obert. Admet el desenvolupament de programari modular. Podeu utilitzar-lo per instal·lar paquets de nodes, compartir, distribuir el vostre codi i gestionar dependències de paquets.

Node.js és potent i, per tant, important per les raons següents:

  • Utilitza un model d'execució d'E/S sense bloqueig, basat en esdeveniments, aixíncron, que millora el rendiment d'una aplicació i admet l'escalabilitat per a aplicacions web del món real.
  • És d'un sol fil, de manera que només pot utilitzar 1 CPU en un moment donat.
  • Una aplicació web node.js és un servidor web complet, per exemple Nginx o Apache.
  • Admet fils mitjançant l'API child_process.fork(), per generar un procés fill, i també ofereix un mòdul de clúster.

Amb aquesta breu introducció, haureu de tenir ganes d'escriure el vostre primer programa JavaScript. Tanmateix, primer cal que instal·leu els paquets Node.js i NPM al vostre sistema Linux mitjançant la guia següent.

  1. Instal·leu la darrera versió de Nodejs i NPM als sistemes Linux

Com crear la vostra primera aplicació Node.js a Linux

Un cop hàgiu instal·lat Node.js, ja esteu preparat. Primer comenceu creant un directori que emmagatzemarà els fitxers de l'aplicació.

$ sudo mkdir -p /var/www/myapp

A continuació, aneu a aquest directori i creeu un fitxer package.json per a la vostra aplicació. Aquest fitxer ajuda com a petita documentació per al vostre projecte: nom del projecte, autor, llista de paquets dels quals depèn, etc.

$ cd /var/www/myapp
$ npm init

Això us demanarà una sèrie de preguntes, simplement responeu com es descriu a continuació i premeu [Enter]. Tingueu en compte que les coses més importants del package.json són els camps de nom i versió, tal com s'explica a continuació.

  • nom del paquet: el nom de l'aplicació, per defecte és el nom del directori.
  • versió: versió de la vostra aplicació.
  • descripció: escriu una breu descripció de la teva aplicació.
  • punt d'entrada: estableix el fitxer de paquets per defecte que s'executarà.
  • ordre de prova: s'utilitza per crear un script de prova (per defecte és un script buit).
  • repositori Git: defineix un repositori Git (si en tens un).
  • paraules clau: establiu paraules clau, importants perquè altres usuaris identifiquin el vostre paquet a npm.
  • autor: especifica el nom de l'autor, posa el teu nom aquí.
  • llicència: especifiqueu una llicència per a la vostra aplicació/paquet.

A continuació, creeu un fitxer server.js.

$ sudo vi server.js

Copieu i enganxeu-hi el codi següent.

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

A continuació, inicieu la vostra aplicació amb l'ordre següent.

$ node server.js
OR
$ npm start

A continuació, obriu un navegador web i accediu a la vostra aplicació web, que no fa res més que imprimir la cadena Hola món!, utilitzant l'adreça:

http://localhost:3333

Al nostre codi anterior, l'esdeveniment principal que s'està processant és una sol·licitud HTTP mitjançant el mòdul HTTP.

A Node.js, els mòduls s'assemblen més a biblioteques JavaScript, contenen funcions que podeu reutilitzar a la vostra aplicació. Podeu utilitzar mòduls integrats, trenta mòduls de partit o crear els vostres.

Per trucar als mòduls de la vostra aplicació, utilitzeu la funció de requeriment tal com es mostra.

var http = require('http');

Un cop inclòs el mòdul http, crearà un servidor que escolti en un port determinat (3333 en aquest exemple). El mètode http.creatServer crea el servidor http real que accepta una funció (que s'invoca quan un client intenta accedir a l'aplicació) com a argument.

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

La funció a http.createServer té dos arguments: req(request) i res(response). L'argument req és la sol·licitud d'un usuari o client i l'argument res envia una resposta al client.

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

La part final del codi envia la sortida a la consola, un cop iniciat el servidor.

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

En aquesta secció, explicaré un dels conceptes més importants de la programació de Node.js conegut com a enrutament (comparable a l'encaminament en xarxa d'ordinadors: procés de trobar un camí per al trànsit en una xarxa).

Aquí, l'encaminament és una tècnica per gestionar la sol·licitud d'un client; servir el contingut que el client ha sol·licitat, tal com s'especifica a l'URL. Un URL està format per un camí i una cadena de consulta.

Per veure la cadena de consulta de sol·licitud d'un client, podem afegir les línies següents a la nostra resposta.

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

A continuació es mostra el nou codi.

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

Deseu el fitxer i torneu a iniciar la vostra aplicació amb l'ordre següent.

$ node server.js
OR
$ npm start

Des d'un navegador web, escriviu diferents URL que es mostraran com es mostra a continuació.

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

Ara, crearem un lloc web molt petit per a Tecmint amb una pàgina d'inici, pàgines d'autors i sobre. Mostrarem informació en aquestes pàgines.

Obriu el fitxer server.js per editar-lo i afegiu-hi el codi següent.

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

Al codi anterior, hem vist com escriure comentaris a Node.js utilitzant els caràcters // i també hem introduït declaracions de commutació i cas per encaminar les sol·licituds dels clients.

Deseu el fitxer, inicieu el servidor i proveu d'accedir a les diferents pàgines.

Això és tot de moment! Podeu trobar més informació als llocs web de NPM.

Node.js està arribant a nous màxims avui, ha fet que el desenvolupament de la pila completa sigui molt més fàcil que abans. La seva filosofia única de programació basada en esdeveniments us permet crear processos i servidors web ràpids, eficients i escalables.

A continuació, explicarem els frameworks Node.js, que amplien les seves capacitats natives per desenvolupar de forma ràpida i fiable aplicacions web/mòbils. Comparteix els teus pensaments sobre aquest article a través de la secció de comentaris a continuació.