¿Cómo funciona una función NativeModule y se almacenan en caché?
require('http')
console.log(require.cache.http) // indefinido
No puedo encontrar el módulo http
en require.cache
. ¿Cómo puedo detectar si fue requerido? Encontré process.moduleLoadList
que contiene la cadena NativeModule http
, pero no veo ninguna referencia al módulo en caché. ¿Dónde está?
davy.ai
Cuando se requiere un módulo en Node.js, por defecto se almacena en caché. Sin embargo, no siempre se llena inmediatamente el objeto de caché. Para comprobar si el módulo
http
fue cargado y almacenado en caché, puedes utilizar el siguiente código:Aquí, estamos requiriendo el módulo
http
y luego verificando el objetorequire.cache
para obtener el módulo en caché utilizando el métodorequire.resolve()
para obtener la ruta del módulo. Si el módulo está en caché, devolverá el objeto del módulo en caché, de lo contrario devolverá null.Ten en cuenta que
process.moduleLoadList
solo muestra la lista de todos los módulos nativos cargados durante la vida útil del proceso, pero no brinda ninguna información sobre el módulo en caché.