库托,一个反向 JavaScript 打包器

主要观点:Kuto 是在网络上传输代码的新方法,可复用客户端已有的代码进行更新,在实际网站中更新 React 依赖可减少下载量和加快启动时间。
关键信息

  • 工作原理:首次构建时将源 JS 分割为“主”部分和无副作用的“语料库”,后续构建时识别可复用的代码放入现有语料库,不可复用的放入新语料库,可缓存语料库。
  • 为何有效:语料库可缓存,每次构建语料库可能缩小,新客户端获取较小版本,利用浏览器缓存字节码提高速度,可实现可预测、有用且自动化的代码分割。
  • 使用情况:适用于单束输出网站、大 JS 包(>1mb)且由大量顶级 ESM 代码组成的情况,需先使用常规打包器,保留旧构建产物,权衡首次加载稍大与更新体验更好。存在生成多个文件导致碎片化问题,可配置保留的前几个捆绑包数量。
  • 性能疑问:测试中大小减少 71%但速度仅增加 28%,怀疑 v8 组装模块代码仍较耗时。
    重要细节
  • 示例代码展示了 Kuto 中主文件、语料库文件之间的循环依赖关系。
  • 提到 Kuto 是新工具,可能对企业应用或社交媒体有帮助,对小型代码库无益处。
  • 鼓励用户尝试并分享在实际环境中的使用情况和数据。
阅读 9
0 条评论