javascript - 单页应用javascript不卸载会不会导致内存问题

标签 javascript angularjs backbone.js ember.js single-page-application

用于开发单页应用程序 (SPA) 的 AnguarJs、BackboneJs、Emberjs 等 Javascript 框架会加载大量 js 文件。由于无法卸载这些文件,应用程序可能会因为这些 js 文件而陷入导致内存问题的情况,因为 SPA 通常不会刷新页面。

举个例子,如果应用程序有多个模块(例如:ERP 的工资单、考勤……),SPA 在加载时将特定于该模块的 js 文件加载到浏览器。但是当导航到不同的模块而不刷新页面时,先前加载的 js 文件保留在内存中。假设应用程序有很多这样的模块,是否有可能在某个时间这些 js 文件导致内存问题(内存不足或损坏)?

最佳答案

请记住,您不需要使用框架来创建 SPA。的确,有时 Angular、React 和其他框架确实会创建臃肿的代码,但它们也提供了许多有用的功能。因此,您可能会或可能不会使用它们,具体取决于项目。

您还可以将代码作为模块加载,并在需要时加载模块,在不需要时卸载它们。因此,SPA 不仅仅是使用框架。

关于javascript - 单页应用javascript不卸载会不会导致内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37916350/

相关文章:

angularjs - Angular Promise - 对成功和错误都做一些事情

javascript - Angular2 v3 组件路由器 : TypeError: Cannot read property 'split' of undefined

angularjs - 在表单提交的网址中间添加问号

json - Spring MVC HTTP 状态 405 - 不支持请求方法 'POST' - 主干请求

javascript - Office.js displayDialogAsync 引发内部错误

javascript - 如何查看组件内的 Vue 实例属性?

javascript - 来自 Web 应用程序的 iOS 通知

javascript - 错误的 collection.length 将 JSON 数组传递给 Backbone Collection 时

javascript - 删除字符串中某个位置之前的部分

javascript - 使用正则表达式在 JS 中拆分核苷酸序列