单页面应用体积大的思考

现状

现有前端开发模式是这样子的:有一个插座应用portal,还有8个左右的子系统应用。开发阶段,子应用工程都能分别开发调试;编译时,首先会将子应用逐一打包成libs包,发布到内部的私有仓库中,然后在编译portal应用前,先将各个子应用的包,install到portal工程中,就像第三方依赖包一样,引入到main.js中,然后再build插座应用portal,这样多个子系统最后打成一个包。

随着业务的增加,单页面应用,打出来的包,体积越来越大,成了巨石应用。页面加载非常慢,用户体验很差,所以需要优化。

解决思路

优化的思路有以下几种:
1、按需加载。将组件库、子系统应用等都做成按需加载,这样打包体积虽然还是很大,但是首屏加载性能会有所改善。
2、多页面打包,将登录页面单独打包,包体积不变,首屏加载会改善;或者将登录拆分成工程,单独打包,本质也是多页面。
3、qiankun框架

原则上,1就能解决我们的困境,但是懒加载结合子工程libs包引用的现状,懒加载没生效,原因有待研究;3是我们的终极目标,也是我们的希望,但是由于时间紧迫,要研究qiankun,并把现有的十几个工程改造适配qiankun,风险不可控;介于以上2个原因,我们采用了多页面的方式,快速解决当前问题。

这样就有了实践多页面的机会。

单页面改造成多页面

从单工程扩展到多工程后,要面临的问题:

1.部署问题

部署部分见apache分类中的多工程部署章节apache多工程部署经验 - (jianshu.com)

2.多页面之间页面跳转,和单页面内部路由跳转,怎么衔接

你可能感兴趣的:(单页面应用体积大的思考)