# 1、grunt
最早的打包工具。运用配置的思想来写打包脚本,一切皆配置。配置文件 Gruntfile.js
缺点
- 配置项太多
- 而且不同的插件会有自己的扩展字段
- 学习成本高,运用的时候需要明白各种插件的配置规则和配合方式。
# 2、gulp
- 基于
nodejs
流的打包工具。配置文件gulpfile.js
。 - 定位是基于任务流的自动化构建工具。
Gulp
是通过task
对整个开发过程进行构建 优点- 流式的写法简单直观
API
简单,代码量少- 易于学习和使用
- 适合多页面应用开发 缺点
- 异常处理比较麻烦
- 工作流程顺序难以精确控制
- 不太适合单页后者自定义模块的开发
# 3、webpack
缺点
- 学习成本高,配置复杂
- 通过
babel
编译后的js
代码打包体积大。
# 4、rollup
rollup 下一代的
es6
打包工具。利用tree-shaking
生成简洁的代码一般而言,对于应用使用
webpack
,对于类库使用Rollup
。需要代码拆分(code Splitting),或者很多静态资源需要处理,再或者构建的项目需要引入很多
commonjs
模块的依赖,使用webpack
代码库是基于
es6
模块,希望代码能够被其他人直接使用,使用rollup
优点
- 用标准化的格式 (es6)来写代码,通过减少死代码来尽可能的缩小包体积。 缺点
- 对代码拆分、静态资源、Commonjs模块支持不好。
# 5、parcel
- Parcel 是快速、零配置的
web
应用程序打包器。 - 只能用来构建用于运行在浏览器中的网页。
优点
- 内置了常见场景的构建方案及其依赖,无需安装各种依赖。
- 能以
HTML
为入口,自动检测和打包依赖资源。 - 默认支持模块热替换,真正的开箱即用。
缺点
- 不支持
SourceMap
- 不支持剔除无效代码(
TreeShaking
) - 配置不灵和。
查看配置文件 npm run eject