Tutorial de Node.js Express Framework: aprenda en 10 minutos

En este tutorial, estudiaremos el marco Express. Este marco está construido de tal manera que actúa como un marco de aplicación web Node.js mínimo y flexible, proporcionando un conjunto sólido de características para crear aplicaciones web híbridas, de una o varias páginas.

¿Qué es Express.js?

Express.js es un marco de servidor de aplicaciones web Node js, que está diseñado específicamente para crear aplicaciones web híbridas, de una sola página y de varias páginas.

Se ha convertido en el marco de servidor estándar para node.js. Express es la parte backend de algo conocido como pila MEAN.

MEAN es gratuito y de código abierto. JavaScript pila de software para crear sitios web dinámicos y aplicaciones web que tiene lo siguientewing componentes;

1) MongoDB – La base de datos NoSQL estándar

2) Expreso.js – El marco de aplicaciones web predeterminado

3) Angular.js – El marco JavaScript MVC utilizado para aplicaciones web.

4) Node.js – Marco utilizado para aplicaciones de red y del lado del servidor escalables.

El marco Express.js facilita el desarrollo de una aplicación que se puede utilizar para manejar múltiples tipos de solicitudes, como solicitudes GET, PUT, POST y DELETE.

Instalación y uso de Express

Express se instala a través del Administrador de paquetes de Node. Esto se puede hacer ejecutando lo siguientewing línea en la línea de comando

npm instalar express

El comando anterior solicita al administrador de paquetes de Node que descargue los módulos express necesarios y los instale en consecuencia.

Usemos nuestro marco Express recién instalado y creemos una aplicación simple "Hola mundo".

Nuestra aplicación creará un módulo de servidor simple que escuchará en el puerto número 3000. En nuestro ejemplo, si se realiza una solicitud a través del navegador en este número de puerto, la aplicación del servidor enviará una respuesta de "Hola mundo" al cliente. .

Instalación y uso de Express

var express=require('express');
var app=express();
app.get('/',function(req,res)
{
res.send('Hello World!');
});
var server=app.listen(3000,function() {});

Explicación del código:

  1. En nuestra primera línea de código, utilizamos la función require para incluir el "módulo expreso".
  2. Antes de que podamos comenzar a usar el módulo express, necesitamos convertirlo en un objeto.
  3. Aquí estamos creando una función de devolución de llamada. Esta función se llamará cada vez que alguien navegue hasta la raíz de nuestra aplicación web, que es http://localhost:3000 . La función de devolución de llamada se utilizará para enviar la cadena "Hola mundo" a la página web.
  4. En la función de devolución de llamada, enviamos la cadena "Hola mundo" al cliente. El parámetro 'res' se utiliza para enviar contenido a la página web. Este parámetro 'res' es algo que proporciona el módulo 'solicitud' para permitir enviar contenido a la página web.
  5. Luego usamos la función de escucha para hacer que nuestra aplicación de servidor escuche las solicitudes de los clientes en el puerto número 3000. Puede especificar cualquier puerto disponible aquí.

Si el comando se ejecuta correctamente, lo siguientewing El resultado se mostrará cuando ejecute su código en el navegador.

Salida:

Express.js

Desde la salida,

  • Puede ver claramente que si navegamos a la URL de localhost en el puerto 3000, verá la cadena "Hola mundo" en la pantalla.yed en la pagina.
  • Debido a que en nuestro código hemos mencionado específicamente que el servidor escuche en el puerto número 3000, podemos ver el resultado cuando navegamos a esta URL.

¿Qué son las Rutas?

El enrutamiento determina la forma en que una aplicación responde a una solicitud de cliente a un punto final en particular.

Por ejemplo, un cliente puede realizar una solicitud http GET, POST, PUT o DELETE para varias URL como las que se muestran a continuación;

http://localhost:3000/Books
http://localhost:3000/Students

En el ejemplo anterior,

  • Si se realiza una solicitud GET para la primera URL, lo ideal es que la respuesta sea una lista de libros.
  • Si la solicitud GET se realiza para la segunda URL, lo ideal es que la respuesta sea una lista de estudiantes.
  • Entonces, según la URL a la que se accede, se invocará una funcionalidad diferente en el servidor web y, en consecuencia, se enviará la respuesta al cliente. Este es el concepto de enrutamiento.

Cada ruta puede tener una o más funciones de controlador, que se ejecutan cuando la ruta coincide.

La sintaxis general de una ruta se muestra a continuación.

app.METHOD(PATH, HANDLER)

Donde,

1) la aplicación es una instancia del módulo expreso

2) MÉTODO es un método de solicitud HTTP (GET, POST, PUT o DELETE)

3) PATH es una ruta en el servidor.

4) HANDLER es la función que se ejecuta cuando la ruta coincide.

Veamos un ejemplo de cómo podemos implementar rutas en el expreso. Nuestro ejemplo creará 3 rutas como

  1. Una ruta /Nodo que mostrará la cadena "Tutorial en Nodo" si se accede a esta ruta
  2. Una ruta /Angular que mostrará la cadena "Tutorial sobre Angular" si se accede a esta ruta
  3. Una ruta predeterminada / que mostrará la cadena "Bienvenido a los tutoriales de Guru99".

Nuestro código básico seguirá siendo el mismo que el de los ejemplos anteriores. El siguiente fragmento es un complemento para mostrar cómo se implementa el enrutamiento.

Rutas en Node.js

var express = require('express');
var app = express();
app.route('/Node').get(function(req,res)
{
    res.send("Tutorial on Node");
});
app.route('/Angular').get(function(req,res)
{
    res.send("Tutorial on Angular");
});
app.get('/',function(req,res){
    res.send('Welcome to Guru99 Tutorials');
}));

Explicación del código:

  1. Aquí estamos definiendo una ruta si la URL http://localhost:3000/Node está seleccionado en el navegador. A la ruta, adjuntamos una función de devolución de llamada que se llamará cuando naveguemos a la URL del nodo. La función tiene 2 parámetros.
  • El parámetro principal que usaremos es el parámetro 'res', que se puede usar para enviar información al cliente.
  • El parámetro 'req' tiene información sobre la solicitud que se realiza. A veces, se pueden enviar parámetros adicionales como parte de la solicitud que se realiza y, por lo tanto, el parámetro 'req' se puede utilizar para encontrar los parámetros adicionales que se envían.
  1. Estamos utilizando la función de envío para enviar la cadena "Tutorial en el nodo" al cliente si se elige la ruta del nodo.
  2. Aquí estamos definiendo una ruta si la URL http://localhost:3000/Angular está seleccionado en el navegador. A la ruta, adjuntamos una función de devolución de llamada que se llamará cuando naveguemos hasta la URL de Angular.
  3. Estamos utilizando la función de envío para enviar la cadena "Tutorial sobre Angular" al cliente si se elige la ruta Angular.
  4. Esta es la ruta predeterminada que se elige cuando uno navega a la ruta de la aplicación. http://localhost:3000. Cuando se elige la ruta predeterminada, se enviará al cliente el mensaje "Bienvenido a los tutoriales de Guru99".

Si el comando se ejecuta correctamente, lo siguientewing El resultado se mostrará cuando ejecute su código en el navegador.

Salida:

Rutas en Node.js

Desde la salida,

  • Puede ver claramente que si navegamos a la URL de localhost en el puerto 3000, verá la cadena "Bienvenido a los tutoriales de Guru99" en la pantalla.yed en la pagina.
  • Porque en nuestro código, mencionamos que nuestra URL predeterminada mostraría este mensaje.

Rutas en Node.js

Desde la salida,

  • Puede ver que si la URL se ha cambiado a /Node, se elegirá la ruta del nodo respectivo y se mostrará la cadena "Tutorial en el nodo".yed.

Rutas en Node.js

Desde la salida,

  • Puede ver que si la URL se ha cambiado a /Angular, se elegirá la ruta del nodo respectivo y se mostrará la cadena "Tutorial en Angular".yed.

Servidor web de muestra usando express.js

En nuestro ejemplo anterior, hemos visto cómo podemos decidir qué salida mostrar en función del enrutamiento. Este tipo de enrutamiento es el que se utiliza en la mayoría de las aplicaciones web modernas. La otra parte de un servidor web consiste en usar plantillas en Node js.

Al crear aplicaciones Node rápidas sobre la marcha, una forma fácil y rápida es utilizar plantillas para la aplicación. Hay muchos marcos disponibles en el mercado para crear plantillas. En nuestro caso, tomaremos el ejemplo del marco de jade para crear plantillas.

Jade se instala a través del administrador de paquetes de Node. Esto se puede hacer ejecutando lo siguientewing línea en la línea de comando

npm instala jade

El comando anterior solicita al administrador de paquetes de Node que descargue los módulos jade necesarios y los instale en consecuencia.

NOTA: En la última versión de Node, jade ha quedado obsoleto. En su lugar, utiliza pug.

Usemos nuestro marco de jade recién instalado y creemos algunas plantillas básicas.

Paso 1) El primer paso es crear una plantilla de jade. Cree un archivo llamado index.jade e inserte el siguiente código. Asegúrese de crear el archivo en la carpeta "vistas"

Servidor web de muestra con Express.js

  1. Aquí especificamos que el título de la página se cambiará a cualquier valor que se pase cuando se invoque esta plantilla.
  2. También especificamos que el texto en la etiqueta del encabezado se reemplazará por lo que se pase en la plantilla de jade.

Servidor web de muestra con Express.js

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
res.render('index',
{title:'Guru99',message:'Welcome'})
});
var server=app.listen(3000,function() {});

Explicación del código:

  1. Lo primero que se debe especificar en la aplicación es el “motor de visualización” que se utilizará para representar las plantillas. Como vamos a utilizar jade para renderizar nuestras plantillas, lo especificamos en consecuencia.
  2. La función de renderizado se utiliza para renderizar una página web. En nuestro ejemplo, estamos renderizando la plantilla (index.jade) que se creó anteriormente.
  3. Estamos pasando los valores de “Guru99” y “Bienvenido” a los parámetros “título” y “mensaje” respectivamente. Estos valores serán reemplazados por los parámetros "título" y "mensaje" declarados en la plantilla index.jade.

Si el comando se ejecuta correctamente, lo siguientewing El resultado se mostrará cuando ejecute su código en el navegador.

Salida:

Servidor web de muestra con Express.js

Desde la salida,

  • Podemos ver que el título de la página se establece en "Guru99" y el encabezado de la página se establece en "Bienvenido".
  • Esto se debe a la plantilla jade que se invoca en nuestra aplicación node js.

Resumen

  • El marco express es el marco más común utilizado para desarrollar aplicaciones Node js. El marco express está construido sobre el marco node.js y ayuda a acelerar el desarrollo de aplicaciones basadas en servidor.
  • Las rutas se utilizan para desviar a los usuarios a diferentes partes de las aplicaciones web según la solicitud realizada. La respuesta para cada ruta puede variar dependiendo de lo que se debe mostrar al usuario.
  • Las plantillas se pueden utilizar para inyectar contenido de manera eficiente. Jade es uno de los motores de plantillas más populares utilizados en aplicaciones Node.js.