Cómo Node.js Carga los Módulos
Desliza para mostrar el menú
Para trabajar de manera efectiva con módulos en Node.js, es necesario comprender cómo Node.js los encuentra y los carga. Este proceso se denomina resolución de módulos. Cuando se utiliza la función require para importar un módulo, Node.js sigue un algoritmo específico para localizar el archivo o paquete solicitado. El proceso de resolución tiene en cuenta las extensiones de archivo, la estructura de carpetas e incluso la presencia de archivos especiales como package.json.
Node.js primero verifica si el módulo requerido es un módulo nativo, como fs o http. Si no es un módulo nativo, Node.js trata la cadena que se pasa a require como una ruta relativa (que comienza con ./ o ../), una ruta absoluta o un nombre de módulo. Para rutas relativas y absolutas, Node.js intenta resolver el archivo comprobando lo siguiente en orden:
- Si existe el archivo exacto con el nombre proporcionado;
- Si existe el archivo agregando la extensión
.js; - Si existe el archivo agregando la extensión
.json; - Si existe el archivo agregando la extensión
.node.
Si la ruta apunta a un directorio, Node.js buscará un archivo package.json dentro de ese directorio. Si lo encuentra, utilizará el campo main para determinar qué archivo cargar. Si no hay un package.json o no existe el campo main, Node.js buscará un archivo index.js, index.json o index.node dentro del directorio.
Si se requiere un módulo por nombre (no por ruta), Node.js lo buscará en las carpetas node_modules, comenzando desde el directorio actual y luego subiendo por la jerarquía de directorios hasta llegar a la raíz.
app.js
Node.js almacena en caché los módulos después de la primera vez que se cargan. Esto significa que si se requiere el mismo módulo varias veces, solo se ejecuta una vez; las llamadas posteriores devuelven el mismo objeto almacenado en caché. Esto mejora el rendimiento y la consistencia en toda la aplicación.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla