看不懂构建工具源码,那我自己写一个行不行?(0)

23 阅读1分钟

大家好,我是有一点想法的thinkmars,最近在学习前端打包构建工具的底层原理。现在打包构建工具的源码真是庞大,看得我如坐针毡,如芒刺背,如鲠在喉,本着“看别人的代码不如自己重新写”的开发理念,我还是自己写一个吧[狗头]。


目标

通过实现简单方案,了解打包构建工具底层原理。


开发哲学:罗马不是一天建成的

开发一个构建工具不是一天就能完成的,所以先把整体的开发拆分为几个任务,整体的开发流程如下:

  1. 先实现一个最简单的开发服务器,支持ES模块导入
  2. 添加基本的文件监控和HMR功能
  3. 实现生产构建的最小可行版本
  4. 设计插件系统并逐步迁移核心功能到插件
  5. 完善框架支持和高级特性

技术选型:能用的拿来用

为了降低不同工具选型的复杂度,我选择用Bun。Bun拥有高速的性能和完备的工具链,能快速达到我们的目标。

为了更优质的使用体验,我们本地dev也采用了类似vite的【按需编译】模式。

Bun的一些优势:

  1. 性能优势:Bun 的启动速度和执行效率远超 Node.js。
  2. 内置工具链:自带测试运行器、WebSocket 等。
  3. 语言支持:原生支持 TypeScript/JSX。

最后:简单取个名

为了和vite更好地区分开来,防止被喷蹭vite的热度,就把项目取名为bite吧!

仓库地址:github.com/ThinkMars/b…