Búsqueda de sitios web

Cómo escribir su primera aplicación Node.js en Linux


Las tendencias de desarrollo web han cambiado drásticamente en los últimos años y, como desarrollador web, para estar en la cima, es importante mantenerse actualizado con las últimas tecnologías.

JavaScript es el lenguaje de programación de moda actualmente; Es sin duda la tecnología más popular utilizada por los desarrolladores full stack.

Los frameworks web JavaScript se han convertido en una solución mágica para un desarrollo web más rápido con absoluta eficiencia, seguridad y costos minimizados. Estoy seguro de que has oído hablar de Node JavaScript (comúnmente conocido como Node.js o simplemente Node), hay rumores al respecto. En Internet.

En este artículo, le mostraré cómo comenzar a desarrollar aplicaciones en JavaScript usando Node.js en Linux. Pero primero, hagamos una breve introducción a Node.js.

¿Qué es Node.js?

Node.js es un tiempo de ejecución de JavaScript de código abierto, ligero y eficiente construido sobre el motor JavaScript V8 de Chrome. Está diseñado sin subprocesos (un solo subproceso) y tiene una implementación similar a Twisted, un motor de red creado con Python o Event Machine, una biblioteca de procesamiento de eventos para programas Ruby.

El corazón de Node.js se basa en la programación basada en eventos; Por lo tanto, un programador debe comprender qué eventos están disponibles y cómo responder a ellos.

Gestión de paquetes en Node.js

Node.js utiliza el ecosistema y administrador de paquetes JavaScript llamado “npm”, que contiene una inmensa colección de bibliotecas gratuitas de código abierto. Es compatible con el desarrollo de software modular. Puede usarlo para instalar paquetes de nodos, compartir, distribuir su código y administrar las dependencias de los paquetes.

¿Por qué es importante Node.js?

Node.js es poderoso y, por lo tanto, importante por las siguientes razones:

  • Utiliza un modelo de ejecución de E/S sin bloqueo y controlado por eventos asíncronos, que mejora el rendimiento de una aplicación y admite la escalabilidad para aplicaciones web del mundo real.
  • Tiene un solo subproceso, por lo que solo puede utilizar 1 CPU a la vez.
  • Una aplicación web node.js es un servidor web completo, por ejemplo Nginx o Apache.
  • Admite subprocesos a través de la API child_process.fork(), para generar procesos secundarios, y también ofrece un módulo de clúster.

Con esta breve introducción, debes estar ansioso por escribir tu primer programa JavaScript. Sin embargo, lo primero es lo primero: debe instalar los paquetes Node.js y NPM en su sistema Linux utilizando la siguiente guía.

  1. Instale la última versión de Nodejs y NPM en sistemas Linux

Cómo crear su primera aplicación Node.js en Linux

Una vez que haya instalado Node.js, estará listo para comenzar. Primero comience creando un directorio que almacenará los archivos de su aplicación.

sudo mkdir -p /var/www/myapp

Luego vaya a ese directorio y cree un archivo package.json para su aplicación. Este archivo sirve como pequeña documentación para su proyecto: nombre del proyecto, autor, lista de paquetes de los que depende, etc.

cd /var/www/myapp
npm init

Esto le hará una serie de preguntas, simplemente responda como se describe a continuación y presione [Entrar]. Tenga en cuenta que las cosas más importantes en package.json son los campos de nombre y versión, como se explica a continuación.

  • nombre del paquete: el nombre de su aplicación; el valor predeterminado es el nombre del directorio.
  • versión: versión de tu aplicación.
  • descripción: escriba una breve descripción de su aplicación.
  • punto de entrada: establece el archivo de paquetes predeterminado que se ejecutará.
  • comando de prueba: se utiliza para crear un script de prueba (el valor predeterminado es un script vacío).
  • repositorio git: define un repositorio Git (si tienes uno).
  • palabras clave: establezca palabras clave, importantes para que otros usuarios identifiquen su paquete en npm.
  • autor: especifica el nombre del autor, escriba su nombre aquí.
  • licencia: especifique una licencia para su aplicación/paquete.

A continuación, cree un archivo server.js.

sudo vi server.js

Copie y pegue el código a continuación.

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ón, inicie su aplicación usando el siguiente comando.

node server.js
OR
npm start

A continuación, abra un navegador web y acceda a su aplicación web, que no hace mucho más que imprimir la cadena “¡Hola mundo! ”, utilizando la dirección:

http://localhost:3333

En nuestro código anterior, el evento principal que se procesa es una solicitud HTTP a través del módulo HTTP.

El módulo HTTP de Nodejs

En Node.js, los módulos se parecen más a bibliotecas de JavaScript y contienen funciones que puedes reutilizar en tu aplicación. Puede utilizar módulos integrados, módulos de treinta o crear los suyos propios.

Para llamar a módulos en su aplicación, use la función require como se muestra.

var http = require('http');

Una vez incluido el módulo http, creará un servidor que escucha en un puerto particular (3333 en este ejemplo). El método http.creatServer crea el servidor http real que acepta una función (que se invoca cuando un cliente intenta acceder a la aplicación) como argumento.

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

La función en http.createServer tiene dos argumentos: req(solicitud) y res(respuesta). El argumento req es la solicitud de un usuario o cliente y el argumento res envía una respuesta al cliente.

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

La parte final del código envía la salida a la consola, una vez que se inicia el servidor.

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

Enrutamiento en Node.js

En esta sección, explicaré uno de los conceptos más importantes de la programación Node.js conocido como enrutamiento (comparable al enrutamiento en redes de computadoras: proceso de encontrar una ruta para el tráfico). en una red).

Aquí, el enrutamiento es una técnica para manejar la solicitud de un cliente; servir el contenido que el cliente ha solicitado, como se especifica en la URL. Una URL se compone de una ruta y una cadena de consulta.

Para ver la cadena de consulta de solicitud de un cliente, podemos agregar las siguientes líneas en nuestra respuesta.

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

A continuación se muestra el nuevo código.

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

Guarde el archivo e inicie su aplicación nuevamente usando el siguiente comando.

node server.js
OR
npm start

Desde un navegador web, escriba diferentes URL que se mostrarán como se muestra a continuación.

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

Ahora, crearemos un sitio web realmente pequeño para Tecmint con una página de inicio, información y páginas de autores. Mostraremos alguna información en estas páginas.

Abra el archivo server.js para editarlo y agregue el siguiente código.

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

En el código anterior, hemos visto cómo escribir comentarios en Node.js usando los caracteres // y también hemos introducido declaraciones de cambio y caso para enrutar las solicitudes de los clientes.

Guarde el archivo, inicie el servidor e intente acceder a las distintas páginas.

¡Eso es todo por ahora! Puede encontrar más información en los sitios web de Nodejs y NPM.

Lea también: Cómo instalar PM2 para ejecutar aplicaciones Node.js en Linux

Conclusión

Node.js está alcanzando nuevos máximos hoy y ha hecho que el desarrollo completo sea mucho más fácil que antes. Su filosofía única de programación basada en eventos le permite crear procesos y servidores web ultrarrápidos, eficientes y escalables.

A continuación, explicaremos los marcos Node.js, que amplían sus capacidades nativas para desarrollar aplicaciones web/móviles de forma rápida y confiable. Comparta sus opiniones sobre este artículo a través de la sección de comentarios a continuación.