小编Gob*_*ode的帖子

如何在javascript中卸载动态导入?

基本上,我有一个 json 文件,它定义用户登录时要加载的内容。这包括 javascript 文件。当不同的用户登录时,需要卸载以前的东西,而无需刷新页面。

我正在使用 javascript 动态导入

 modules[moduleId] = await import(url);
Run Code Online (Sandbox Code Playgroud)

我发现,即使我将“模块”变量清除为空对象后,动态导入的模块中定义的事件侦听器仍然会触发。我假设该闭包中定义的大多数其他内容仍然占用内存。

现在,如果我像这样滥用登录/注销,我假设我最终会遇到内存泄漏问题。如何确保加载到对象引用中的模块在不再需要时正确卸载?

我在这里使用纯 js,无法访问外部库或工具。

javascript memory import dynamic unload

7
推荐指数
1
解决办法
1352
查看次数

标签 统计

dynamic ×1

import ×1

javascript ×1

memory ×1

unload ×1