Gestionar los módulos es importante porque estos contienen bloques de código que cumplen una función específica. Estos módulos se deben exportarexports default nameoffile
y en el archivo que lo recibirá debo declarar en el inicioconst anyname = require('nameofmodule');
Existen métodos imprescindibles para trabajar con datos y son las API, estás tienen métodos htttp que se comunican con el servidor, las principales son: GET, POST, PUT, DELETE. Es muy importante aprender a usarlas para tener un control total de las apis.
Middlewere son funciones que tienen acceso al request y al response, sus funciones están en medio de las llamadas al servidor
Uno de los middleware más utilizados con express es morgan, este muestra información importante de las request como los metodos, tiempo de respuesta, endpoints, etc
Para que node trabaje con una base de datos como Mongo, es necesario usar una librería npm para la conexión, llamado mongoose, en la documentación de esta librería se puede encontrar los comandos y scripts para comenzar la conexión.
Event loop es un bucle que gestiona de forma asíncrona todos los eventos de tu aplicación.
Lo recomendable es no usar variables de entorno por los problemas complejos que trae.
Una de las maneras de crear variables de entorno es con globalglobal.miVariable = "elvalor"
Es muy común la desestructuración de objetos (ESMASCRIPT6) para la importación de módulos. Por ejemplo es lo mismo
const { exec } = require('child_process');
queconst exec = require('child_process').exec;
Los procesos hijos sirven para abrir otro hilo en node donde se ejecute otro código que puede ser escrito en java, python, php, lo que sea; node tiene esta facilidad de trabajar así.
Los módulos HTTP de node nos permite crear un servidor o conectarnos a servidores externos.
El módulo OS de node me permite acceder a toda la información del hardware de mi máquina cosa que antes solo se podía hacer con lenguajes de bajo nivel, ahora se puede acceder con node a través de esta librería.
Benchmarking es un truco que sirve para probar el rendimiento de nuestros bloques de códigos, como peticiones http, bucles o de cualquier tipo. Hacemos uso de Benchmarking a través de los comandosconsole.time("bucle") code console.timeEnd("bucle")