Node.js requiere Módulo

Cada archivo JavaScript se trata como un módulo separado en NodeJS . Utiliza el sistema de módulos commonJS : require() , export y module.export .

El objeto principal exportado por el módulo require() es una función. Cuando Node invoca esa función require() con una ruta de archivo como único argumento de la función, Node realiza la siguiente secuencia de pasos:

  1. Resolviendo y Cargando
  2. Envase
  3. Ejecución
  4. Devolución de exportaciones
  5. almacenamiento en caché

Veamos cada paso con más detalle.

  • Resolución y carga: en este paso, los Nodes deciden qué módulo cargar el módulo central o el módulo de desarrollador o el módulo de terceros mediante los siguientes pasos:
    • Cuando la función require recibe el nombre del módulo como su entrada, primero intenta cargar el módulo central.
    • Si la ruta en la función requerida comienza con ‘./’ o ‘../’ , intentará cargar el módulo de desarrollador.
    • Si no se encuentra ningún archivo, intentará encontrar la carpeta con index.js.
    • De lo contrario, irá a node_modules/ e intentará cargar el módulo desde aquí.
    • Si aún no se encuentra el archivo, se genera un error.
  • Envoltura: una vez que se carga el módulo, el código del módulo se envuelve en una función especial que dará acceso a un par de objetos.

Estructura de carpetas:

Ejemplo 1:

module2.js

// Caching
const mod = require('./module1.js')

module1.js

console.log(require("module").wrapper);

Producción:

[
  '(function (exports, require, module, __filename, __dirname) { ',
  '\n});'
]

  • Ejecución: en esta parte, el código del módulo o código dentro de la función contenedora ejecutada por el tiempo de ejecución de NodeJS.
  • Devolución de exportaciones: en esta parte, la función require devuelve las exportaciones del módulo requerido. Estas exportaciones se almacenan en module.exports.

    Use module.exports para exportar una sola variable/clase/función. Si desea exportar varias funciones o variables, utilice exportaciones   (exportaciones.añadir = (a,b)=>a+b).

    Devolución de exportaciones

  • Almacenamiento en caché: al final, todos los módulos se almacenan en caché después de la primera vez que se cargan, por ejemplo, si necesita el mismo módulo varias veces, obtendrá el mismo resultado. Entonces, el código y los módulos se ejecutan en la primera llamada y, en una llamada posterior, los resultados se recuperan del caché.

Ejemplo 2: Tomemos un ejemplo para entender el almacenamiento en caché

module1.js

console.log("Hello GEEKSFORGEEKS");
module.exports  = ()=> console.log("GeeksForGeeks is the best !!");

module2.js

// Caching
const mod = require('./module1.js');
mod();
mod();
mod();

Producción:

Hello GEEKSFORGEEKS
GeeksForGeeks is the best !!
GeeksForGeeks is the best !!
GeeksForGeeks is the best !!

¿Qué sucede cuando requerimos() un Módulo en Node, js

Publicación traducida automáticamente

Artículo escrito por AStream26 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 *