Replies: 1 comment
-
umi 3 不维护了,建议升级为 umi 4 。 因为 SPA 都避免不了请求瀑布的问题,特别是 umi 的用户绝大部分都是在中后台场景中使用,后台会有很多巨大的第三方库(表单、组件、可视化库等),所以产物会很大,理论上只要使用 cdn 托管静态资源,网速足够快,使用最新的浏览器的版本的话,这里 你要确认下到底是下载资源慢还是去后端请求数据接口慢,如果是下载 js 慢,应该从 cdn 加速、提高网速、分包等角度入手缓解;如果是页面瀑布请求 api 接口很慢,可以从合并 api 接口避免一个接一个瀑布请求去解决;在 toC 中为了更早的获取数据,可以在 html script 中插入一段提前请求数据的脚本,等到 react 启动起来之后就可以直接用了,从而加快首屏速度(如果在 app 内,可以让客户端更早的进行此行为,或通过 bridge 调用客户端的请求方法,使用特殊的通信协议如 http3 去提速等),但这些做法都比较极端,在 toB 场景里面一般是不会这么做的,还是要从 js 体积和 api 接口上解决(假定你的服务器响应比较慢或者带宽比较小,这个没办法的)。 假如你的应用是历史债比较重,一启动就会去请求一堆可能用不到的全局数据,最好加一些根据当前路径的判断条件,去跳过不需要的前置请求,能压缩一点时间是一点,这种古老的应用设计上存在问题,是很难改造和提速的,进一步可以考虑用微前端或者 MF 等方式去解耦。 |
Beta Was this translation helpful? Give feedback.
-
请教大神们一个问题,目前umi加载一个页面,都要按照1.加载html -> 2.加载umi.js -> 3. 加载ventors等js -> 4.加载当前路由页面的js -> 5. 获取页面请求渲染页面,能否在上面第3阶段就预加载路由页面所需的一些数据~
Beta Was this translation helpful? Give feedback.
All reactions