Tengo una pregunta relacionada con the node.js documentation on module caching:Descripción de los módulos Node.js: ¿múltiple requiere devolver el mismo objeto?
módulos se almacenan en caché después de la primera vez que se cargan. Esto significa (entre otras cosas) que cada llamada a requerir ('foo') obtendrá exactamente el mismo objeto devuelto, si se resuelve en el mismo archivo .
Las llamadas múltiples a requerir ('foo') no pueden causar que el código del módulo sea ejecutado varias veces. Esta es una característica importante. Con él, se pueden devolver los objetos "parcialmente realizados" , permitiendo así que las dependencias transitivas se carguen aunque ocasionen ciclos.
¿Qué se entiende por may
?
Quiero saber si es necesario siempre devolver el mismo objeto. Así que en caso requiero un módulo Un en app.js
y cambiar las exportaciones oponen a ello en app.js
(la que requiere retornos) y después de que requieren un módulo B en app.js
que sí requiere módulo Un, se me siempre obtener la versión modificada de ese objeto, o una nueva?
// app.js
var a = require('./a');
a.b = 2;
console.log(a.b); //2
var b = require('./b');
console.log(b.b); //2
// a.js
exports.a = 1;
// b.js
module.exports = require('./a');
Esa frase en los documentos podría haber sido mejor escrita. Me parece que * may not * es lo mismo que * no permitido *, es decir, * múltiples llamadas para requerir ('foo') ** no puede ** hacer que el código del módulo se ejecute varias veces *. –