Servidor Nodejs sin Express

 



Anteriormente se construyó un servidor web utilizando Express, el cual simplifica las tareas en el momento del desarrollo , pero en este caso les mostrare un codigo donde utiliza el modulo http.

El protocolo HTTP nos permite enviar y recibir información de otras maquinas

URL : Cadena de texto que se identifica host y recurso
Ejemplo :
https://nodejs.org/en/blog/release/v20.9.0

Las paginas que utilizan https  utiliza una capa adicional llamada SSL/TLS (Secure Sockets Layer/Transport Layer Security ) para encriptar los datos  entre cliente y servidor , por lo tanto es mas seguro que utilizar http .

Vamos a crear dos rutas mensaje y mensaje 1 donde se va utilizar switch case

Paso 1 iniciamos el proyecto 

En este caso cree una carpeta llamada servidor ,dentro de visual studio code por terminal escribimos  npm init -y 

Paso2 Agragamos a Package.json

  • Para mejorar la experiencia en el momento de programar , al momento de hacer cambios y guardar el servidor se reinicie, por eso se instalara npm i nodemon
  • Agregamos "type": "module"  para utilizar import y export
  • Mejoramos nuestro script de arranque asi:

"scripts": {
"start": "nodemon src/app.js"
},

Código completo

{
"name": "servidor",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"start": "nodemon src/app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"nodemon": "^3.0.1"
},
}

Paso 3 Creamos app.js

Agregamos el siguiente código

import {createServer} from 'http';
const commonHeaders = { 'Content-Type': 'text/plain' };


const server = createServer((req, res) => {
switch (req.method) {
case 'GET':
switch (req.url) {
case '/mensaje':
res.writeHead(200, commonHeaders);
res.end('mensaje / Servidor con Modulo HTTP');
break;
case '/mensaje1':
res.writeHead(200, commonHeaders);
res.end('Esta es la ruta /mensaje 2');
break;
default:
res.writeHead(404, commonHeaders);
res.end('Ruta no encontrada');
break;
}
break;
default:
res.writeHead(405, commonHeaders);
res.end('Método no permitido');
break;
}
});

const port = 3000;
console.clear();
server.listen(port, () => {
console.log(`Servidor Node.js escuchando en el puerto ${port}`);
});



Así se mostraría en el navegador la ruta /mensaje
Ejecutamos con npm start



Vamos a modificar un poco app.js para hacer una API sencilla de dos números donde se pueda sumar, restar, multiplicar y dividir


Comentarios