kuto 大型js 项目快速更新的一个工具
kuto 这个工具比较有意思,可以将大型js 项目的js bundler 进行拆分,这样用户就可以下载更少的资源了,提升加载速度
kuto 的处理机制
- 第一次构建的时候
kuto 可以将源js 拆分为maina 以及一个正常的大的corpus
corpus 没有副作用,同时这个corpus 是可以cached,里边包含了一个时间戳 - 未来构建的时候
kuto 依然是进行拆分,此时会结合存在的,corpus 进行分区
每个corpus要么保持不变,要么随着函数、语句等的变化而缩小
任何不能满足的代码都会被放入一个全新的corpus中,该corpus也可以永久缓存
可以应用的场景
- 单一bundle 站点
- 包含大于1m 的bundle
- 由许多顶级 ESM 代码组成,例如函数和类
说明
kuto 项目比较新,但是一个玩法还是比较有意思的,值得学习下
参考资料
https://github.com/samthor/kuto
https://samthor.au/2024/kuto/