我正在使用requireJS在我的html5单页面Web应用程序中动态加载JS模块。我只是想知道一旦我完成它们是否应该处理requireJS加载的模块(所以垃圾收集器可以清理它们)?如果是这样,你如何处理requireJS所需的模块?
提前致谢
答案 0 :(得分:4)
可以取消定义模块:
有一个全局函数requirejs.undef(),允许取消定义 一个模块。它将重置加载器的内部状态以忘记 以前的模块定义。但是,它不会删除 来自其他已经定义并获得处理的模块的模块 该模块在执行时作为依赖项。所以它真的只是 当没有其他模块获得时,在错误情况下使用很有用 处理模块值,或作为任何未来模块加载的一部分 可以使用该模块。有关示例,请参阅errback部分。如果你 想要对未定义进行更复杂的依赖图分析 工作,半私有onResourceLoad API可能会有所帮助。
http://requirejs.org/docs/api.html#undef
我对内部结构不太确定,但在使用lib时,我发现没有必要手动清理模块。