# 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

Last Updated: 9/14/2020, 12:20:49 PM