Node.js frente a Express.js

Node.js: Node.js es un entorno de tiempo de ejecución multiplataforma y de código abierto para ejecutar código JavaScript fuera de un navegador. Debe recordar que NodeJS no es un marco y no es un lenguaje de programación. La mayoría de las personas están confundidas y entienden que es un marco o un lenguaje de programación. A menudo usamos Node.js para crear servicios de back-end como API como aplicación web o aplicación móvil. Es utilizado en la producción por grandes empresas como Paypal, Uber, Netflix, Walmart, etc. Express.js:Express es un marco pequeño que se asienta sobre la funcionalidad del servidor web de Node.js para simplificar sus API y agregar nuevas funciones útiles. Facilita la organización de la funcionalidad de su aplicación con middleware y enrutamiento. Agrega utilidades útiles a los objetos HTTP de Node.js. Facilita la representación de objetos HTTP dinámicos.

Diferencia entre Node.js y Express.js:

  • Node.js es una plataforma para crear aplicaciones de E/S que se basan en eventos del lado del servidor y se realizan con JavaScript.
  • Express.js es un marco basado en Node.js que se utiliza para crear aplicaciones web utilizando enfoques y principios de Node.js.controlado por eventos.
Rasgo Express.js Node.js
Uso Se utiliza para crear aplicaciones web utilizando enfoques y principios de Node.js.  Se utiliza para crear aplicaciones del lado del servidor, de entrada y salida, basadas en eventos.
Nivel de características Más características que Node.js. Menos funciones.
Bloque de construcción Está construido sobre Node.js. Está construido sobre el motor V8 de Google.
Escrito en JavaScript C, C++, JavaScript
Marco/Plataforma Framework basado en Node.js. Plataforma o entorno de tiempo de ejecución diseñado para la ejecución de JavaScript en el lado del servidor.
Controladores Se proporcionan controladores. No se proporcionan controladores.
Enrutamiento Se proporciona enrutamiento. No se proporciona enrutamiento.
software intermedio Utiliza middleware para la disposición de funciones sistemáticamente del lado del servidor. No utiliza tal disposición.
tiempo de codificación Requiere menos tiempo de codificación. Requiere más tiempo de codificación.

Ejemplo: La siguiente comparación muestra cómo el mismo código se escribe de manera diferente en Node.js (código de la pestaña izquierda) y Express.js (código de la pestaña derecha). 

Nota : Estos códigos están cubiertos en las siguientes comparaciones.

Starting a server in Node.js & Express.js 1. Express.js Server: Install express using the following command:

npm install --save express

Nombre de archivo: index.js

Javascript

// Requiring the module
const express = require('express');
const app = express();
 
// Route handling
app.get('/', (req, res) => {
    res.send('<h2>Hello from Express.js server!!</h2>');
});
 
// Server setup
app.listen(8080, () => {
    console.log('server listening on port 8080');
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

2. Node.js Server: Require the http module using the following code:

const http = require('http');

Nombre de archivo: index.js

Javascript

// Requiring the module
const http = require('http');
 
// Creating server object
const server = http.createServer((req, res) => {
    res.setHeader('Content-Type', 'text/html');
    res.write('<html>');
    res.write('<head><title>GeeksforGeeks</title><head>');
    res.write('<body><h2>Hello from Node.js server!!</h2></body>');
    res.write('</html>');
    res.end();
});
 
// Server setup
server.listen(3000, ()=> {
    console.log("Server listening on port 3000")
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Routing in Node.js & Express.js 1. Routing in Express.js:

  • Se proporciona enrutamiento y la implementación es fácil.
  • Podemos pasar directamente el nombre de la ruta y la función a la función incorporada de express, mencionando el tipo de solicitud como get, post.

Nombre de archivo: index.js

Javascript

// Requiring module
const express = require('express');
const app = express();
 
// Handling '/' request
app.get('/', (req, res) => {
    res.send('<h2>Hello from Express.js server!!</h2>');
});
 
// Handling '/about' request
app.get('/about', (req,res) => {
    res.send('<h2>GeeksforGeeks- Express.js</h2>');
});
 
// Server setup
app.listen(8080, () => {
    console.log('server listening on port 8080');
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Abra su navegador y vaya a http://localhost:8080/about , el siguiente será el resultado:

2. Routing in Node.js:

  • No se proporciona enrutamiento.
  • Tenemos que verificar la URL y el método de la solicitud mientras enviamos la respuesta.

Nombre de archivo: index.js

Javascript

// Requiring the module
const http = require('http');
 
// Creating server object
const server = http.createServer((req, res) => {
    const url = req.url;
     
    if(url === '/') {
        res.write('<html>');
        res.write(
'<head><title>GeeksforGeeks</title><head>');
        res.write(
'<body><h2>Hello from Node.js server!!</h2></body>');
        res.write('</html>');
        return res.end();
    }
     
    if(url === '/about') {
        res.write('<html>');
        res.write(
'<head><title>GeeksforGeeks</title><head>');
        res.write(
'<body><h2>GeeksforGeeks- Node.js</h2></body>');
        res.write('</html>');
        return res.end();
    }
});
 
// Server setup
server.listen(3000, () => {
    console.log("Server listening on port 3000")
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Abra su navegador y vaya a http://localhost:3000/about , el siguiente será el resultado:

Publicación traducida automáticamente

Artículo escrito por Shubhadarshie y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *