Básicamente, tengo un archivo json que define qué cargar cuando un usuario inicia sesión. Esto incluye archivos javascript. Cuando un usuario diferente inicia sesión, las cosas anteriores deben descargarse sin actualizar la página.
Estoy haciendo uso de la importación dinámica de javascript.
modules[moduleId] = await import(url);Descubro que incluso después de borrar la variable "módulos" en un objeto vacío, los detectores de eventos definidos dentro del módulo importado dinámicamente aún se activan. Supongo que casi todo lo demás definido dentro de ese cierre todavía ocupa memoria también.
Ahora, si tuviera que abusar del inicio/cierre de sesión de esta manera, supongo que terminaría con problemas de pérdida de memoria. ¿Cómo me aseguro de que los módulos cargados en una referencia de objeto se descarguen correctamente cuando ya no se necesiten?
Estoy trabajando con js puro aquí sin acceso a bibliotecas o herramientas externas.