Tengo 2 archivos, uno llamado one.js y otro llamado first.js.
uno.js
var first = require("./first.js") require.cache[first.module.id].loaded=false require("./first.js")primero.js
console.log("First is running"); module.exports={module}Su salida es:
First is runningy no
First is running First is runningcomo yo esperaba. ¿Por qué, aunque configuré la propiedad de carga del módulo first.js en falso, todavía no se vuelve a cargar?
Debe eliminar el módulo en caché del objeto require.cache para obligar al nodo a cargar el módulo nuevamente. El nodo no ejecutará el módulo mientras esté en require.cache .
A continuación se muestra una forma de eliminar el módulo de la memoria caché:
delete require.cache[require.resolve("./first.js")];Sugerencia adicional: puede exportar una función desde un módulo y simplemente llamar a esa función una y otra vez para tener un resultado similar al cargar el módulo cada vez que se requiera.