了解到编写一个js打包工具需要考虑到的因素:
- 模块化;(CommondJS模块、ES6模块)
- 代码压缩算法(减少HTTP传输时间)
- SourceMap(便于查看生产代码报错的具体位置)
- 支持 JSX 内容转换成 JavaScript
- 资源路径?
- 支持将现代语言语法降低到早期语言版本(如babel,ES6、ES7转化成ES5)
- 提供哪些配置项(入口文件、输出目录、等)
第六点非常重要,可是文中工具 esbuild 还不支持。但它的优势是构建速度是别的主流工具的10-100倍啊(如下图)!但为了可靠性和稳定性,我还是选择 webpack。
它运行快的最大原因估计是用 go 语言写的,可编译成机器语言执行。而 Webpack、Rollup 都是用JavaScript 开发的,

本文探讨了JS打包工具的关键因素,包括模块化支持、代码压缩、SourceMap生成、JSX转换、语法向下兼容及构建速度。对比esbuild与Webpack,前者构建速度快10-100倍,但可靠性与稳定性上,作者倾向于选择Webpack。

被折叠的 条评论
为什么被折叠?



