前端构建工具对比 webpack、vite、esbuild等

人类和动物最大的区别是会使用工具,工具的作用就是提升我们的生产效率,同样,随着前端工程化的演进,伴随着一些优秀的工程化的生产效率工具,今天就来聊一聊,前端工程中的构建工具。

前端构建工具按照功能可以分为如下两大类:

  • 转译 - 将高级语法转换为低级的语法结构,把浏览器不能识别的文件,转换成浏览器能识别的文件;
  • 打包 - 将项目中的更重资源文件(如 html,css,json 等文件)打包压缩优化成想要的结果。

打包工具

工具名称 底层实现语言 优点 缺点 github star
webpack js 1. 作用:将多个模块打包成一个或多个文件,并对文件进行优化压缩,提高页面的加载速度和体验 2. 支持 CommonJS、AMD、ES6 等模块化规范; 3. 生态丰富,有丰富的插件系统 1. 构建速度较慢; 2.打包体积大; 3.上手难度大,需要复杂的配置,依赖项管理比较复杂; 63.9K
vite ts 相比webpack 更快的打包速度,易上手,简单,更快的开发体验; 1. 对旧版本的浏览器的兼容不好,因为它是基于ES模块化进行开发的; 2. 生态相比webpack 来说没那么成熟 62.6k
parcel js 比 vite 还简单,自动化无需配置,号称零配置 生态弱,缺少一些高级功能 42.9k
esbuild go 最快,官方给出的速度对比是其他工具的近百倍 配置灵活度低,生态较弱 36.7k
gulp js 基于node.js 可以跨平台运行 ,插件机制扩展性强,非常灵活 1.它没有模块化,属于 jquery 的时代; 2.配置复杂、功能少,因为过于灵活反而考验开发者的经验和技能 32.8k

转译工具

工具名称 作用
babel 将ES6 和更高级的语法转换为 ES5
tsc 将ts 文件转译成js 文件
相关推荐
小小小小宇3 小时前
TS泛型笔记
前端
小小小小宇3 小时前
前端canvas手动实现复杂动画示例
前端
codingandsleeping3 小时前
重读《你不知道的JavaScript》(上)- 作用域和闭包
前端·javascript
小小小小宇3 小时前
前端PerformanceObserver使用
前端
zhangxingchao4 小时前
Flutter中的页面跳转
前端
烛阴5 小时前
Puppeteer入门指南:掌控浏览器,开启自动化新时代
前端·javascript
全宝5 小时前
🖲️一行代码实现鼠标换肤
前端·css·html
小小小小宇6 小时前
前端模拟一个setTimeout
前端
萌萌哒草头将军6 小时前
🚀🚀🚀 不要只知道 Vite 了,可以看看 Farm ,Rust 编写的快速且一致的打包工具
前端·vue.js·react.js
芝士加7 小时前
Playwright vs MidScene:自动化工具“双雄”谁更适合你?
前端·javascript