角6多页应用程序如何

时间:2018-07-31 10:26:41

标签: javascript angular

我正在开发一个复杂的信息系统,并且定义了我们的前端堆栈以使用Angular Framework。我知道Angular已经计划好并且最适合单页应用程序。但是在此阶段,我面临角度6的MPA支持问题。基本上,我们客户的要求是要查看系统中的某些元素,必须在不同的选项卡中打开它,因为通常人们会打开多个元素并使用它可以收集或比较彼此之间的元素。

我当前的应用程序分布在多个延迟加载的模块之间,所以我的问题是实现MPA支持angular的最佳方法是什么,以解决此问题?我知道,如果我在单独的选项卡中打开链接,则客户端必须下载整个应用程序,然后客户端才可以查看特定页面。是否有人可以针对这种情况提供某些解决方案的建议,或者是否有可能不将整个应用下载到新标签上?谢谢。

PS。我已经浏览了整个互联网,但尚未找到任何解决方案。

3 个答案:

答案 0 :(得分:1)

这些天,我正在使用angular开发一个多页应用程序。在这里,我们使用普通的location.href导航进行路由,而不是使用角度路由器模块。这样,角度应用程序可以用作多页应用程序。执行此操作时,每次重新加载浏览器时,都会进行角引导,并从应用程序组件开始加载。因此,当您使用延迟加载时,可以限制每次刷新浏览器时模块加载的数量。在新标签页中打开某些内容时也会发生同样的情况。

如@Suresh Kumar Ariya所建议的那样,服务器端呈现是仅呈现页面的静态内容,而该页面的动态功能所需的javascript文件则在后台加载。因此,除非您只是想快速提供静态内容以改善用户体验,否则我认为这不是您要寻找的。

您可以做的是尝试做更多的延迟加载,以最大程度地减少初始加载并优化代码

答案 1 :(得分:0)

您还可以选择带有服务端渲染概念的Angular。因此,数据可以在客户端和服务器端共享。 https://angular.io/guide/universal

答案 2 :(得分:0)

感谢大家的建议,并通过service workers解决了该问题,现在所有选项卡都立即加载=)感谢@Patryk Brejdak