大家好,我是有一点想法的thinkmars,最近在学习前端打包构建工具的底层原理。现在打包构建工具的源码真是庞大,看得我如坐针毡,如芒刺背,如鲠在喉,本着“看别人的代码不如自己重新写”的开发理念,我还是自己写一个吧[狗头]。
目标
通过实现简单方案,了解打包构建工具底层原理。
开发哲学:罗马不是一天建成的
开发一个构建工具不是一天就能完成的,所以先把整体的开发拆分为几个任务,整体的开发流程如下:
- 先实现一个最简单的开发服务器,支持ES模块导入
- 添加基本的文件监控和HMR功能
- 实现生产构建的最小可行版本
- 设计插件系统并逐步迁移核心功能到插件
- 完善框架支持和高级特性
技术选型:能用的拿来用
为了降低不同工具选型的复杂度,我选择用Bun。Bun拥有高速的性能和完备的工具链,能快速达到我们的目标。
为了更优质的使用体验,我们本地dev也采用了类似vite的【按需编译】模式。
Bun的一些优势:
- 性能优势:Bun 的启动速度和执行效率远超 Node.js。
- 内置工具链:自带测试运行器、WebSocket 等。
- 语言支持:原生支持 TypeScript/JSX。
最后:简单取个名
为了和vite更好地区分开来,防止被喷蹭vite的热度,就把项目取名为bite吧!