117 - 《MFSU V4 要来了吗》

发布于 2022年5月17日

关于什么是 MFSU,见 40 - 《比 Vite 还快的 MFSU》

MFSU V3 有什么问题?其实从 MFSU 从 V1 到 V3,都是先做项目构建,构建过程中通过 babel 插件分析出有哪些依赖需要走 MF 预编译,然后再做依赖的预编译。这么做的好处是能找到 100% 的所有依赖,覆盖率很高。缺点也很明显,就是串行,尤其是项目源码本身文件多编译慢的场景下,带来的问题会更显著。

项目代码构建 -> 拿到依赖数据 -> 依赖预编译

这个问题会在 MFSU V4 去解,解法是提前做「源码分析」,拿到依赖数据,然后根据此数据并行地去做「项目代码构建」和「依赖预编译」。项目代码构建时根据依赖数据决定哪些要走 MF 的 Remote 加载;依赖预编译直接拿依赖数据去做全量编译,产物供项目代码去加载使用。

源码分析 -> 项目代码构建
         -> 依赖预编译

实现方式比较简单,用 fast-glob 找到所有 js 类

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。