martes, 15 de noviembre de 2022

Algunas librerías(o paquetes) que son esenciales en NodeJS

Alguna de las librerias que mas se usan en NodeJS son:
 
http: sirven para crear un servidor y trabajar con las solicitudes que se hacen desde el navegador. Lanza el servidor y enviar solicitudes a la aplicación o a otro servidor (de hecho puede hacer que varios servidores se conecten entre si).el paquete https es similar, pero con la codificación SSL para que los datos se mantengan seguros.

Veamos este ejemplo:

creare un nuevo proyecto en blanco dentro creo el archivo “app.js”
//llamada a los paquetes necesarios para crear el servidor
const http = require('http');
// crea un servidr con una funcion bucle que recibe solicitudes y muestra en consola :request(solicitudes)
const server = http.createServer((req, res) => {
console.log(req);
});
// escuchando esas solicitudes de forma constante por el puerto 3000
server.listen(3000);
En este ejemplo de código nos explica que NodeJS es una arquitectura impulsada en eventos es decir, si sucede “esto” haga “esto”, (si se ejecuta esta función debe de hacer algo) aquí vemos que el método devuelve un servidor que escucha solicitudes desde el navegador.

Al crear el servidor se ejecuta una función que se repetirá indefinidamente mientras la aplicación se ejecute; y ese mismo servidor tiene distintas propiedades una de esas es “listen” o escucha que recibe en este caso un parámetro de escucha por el puerto 3000 si vamos al navegador mientras se ejecuta el código y accedemos a la pagina “localhost:3000” y pulsamos enter no nos muestra nada en el navegador, pero volviendo a la consola vemos que se ha ejecutado la función de escucha del servidor y el log muestra que petición o “request” se ha realizado, en un evento bucle o “loop” que seguirá ejecutándose mientras haya detectores de eventos registrados, este patrón de eventos en realidad ejecuta js en un solo sub proceso; pero las aplicaciones reales deben de soportar múltiples solicitudes entrantes en la aplicación; es por eso que este concepto es importante.

Si queremos terminar ese bucle infinito debemos de agregar :
process.exit();
dentro de la función que crea el servidor; esto generalmente no se usa pero es necesario saber como se sale de un proceso que ejecuta el bucle de escucha del servidor;
para entender las solicitudes vamos a sub-dividir solo las que mas nos importan dentro de esa petición “request”.
en el log vamos a pedir que nos muestre:
console.log(req.url, req.method, req.headers);
ahora ejecutando el codigo en nuestro navegador:
Obtenemos esta petición /GET que es el método predeterminado si se ingresa desde una URL, ademas nos muestra muchos datos importantes, lo interesante es que en estas peticiones debemos devolver algo al navegador que hace la petición.

En este ejemplo dentro de la función vamos a responder
// establece un encabezado de la pagina html que vamos a devolver al cliente
res.setHeader('Content-Type', 'text/html');
// establecemos un contenido a esa pagina web
res.write('Pimer Pagina webHola a mi primera pagina web');
// termina la respuesta y se lo enviamos al cliente
res.end();
Con estas lineas de código creamos una pagina web sencilla que muestra un mensaje, este es solo un ejemplo por lo que es un proyecto real esta forma de escribir código va ser mas sencilla y mas ordenada usando NodeJS y Express un framework que nos ayuda en ese trabajo.