我们正在为公司的内部用途设计新的Web应用程序,并且将在MVC 6和Angular2中创建前端。 该项目非常庞大......分析显示了大约1000种形式。 此外,每个终端都可以访问的内存量有限(我们还不知道确切数量),因为我们将通过Citrix提供页面。
我知道Angular2是在考虑大型应用程序的情况下创建的,但我发现了一些关于如此大型SPA的问题:
我主要担心的是问题#2。有限数量的内存是具有如此多组件的项目的问题。 客户端想要一个“app app”的动态标签,他可以随时访问任何视图,并能够保持更多这样的视图打开。 在更多MVC视图中拆分应用程序将使此功能难以实现。
tl; dr:需要有关非常大的SPA的Angular2内存消耗的信息和指南!
非常感谢你!
答案 0 :(得分:3)
我没有看到表格数量有问题。 组件只是编译为JavaScript,不会占用大量内存。
当组件被实例化时,它们将为保持其状态的成员变量和Angular维护的某些状态带来一些额外的空间。
通常会导致问题的原因是同时显示大量组件(甚至在可见区域之外 - 而不是仅显示虚拟滚动所需的内容),因为这需要大量的CPU时间并且可以使浏览器缓慢且无响应。
模块的大小本身并不重要。
引入的模块,用于支持与路由器一起部分应用程序的延迟加载。
因此,将应用程序的某些部分放入延迟加载的模块中,这些模块在初始加载时不需要。当用户导航到特定路径时,您可以根据需要加载部分应用程序(延迟加载的模块)。