模块打包工具

  • ESM 存在环境兼容问题
  • 模块文件过多,网络申请频繁
  • 所有前端资源都须要模块化,不仅js文件

毋庸置疑前端模块打包工具是必要的
支流工具 Webpack Parcel Rollup

WebPack

webpack入口

Rollup

长处

  • 输入后果更加扁平
  • 主动移除未援用代码
  • 打包后果仍然齐全可读

毛病

  • 加载非 ESM 的第三方模块比较复杂
  • 模块最终被打包到一个函数中,无奈实现 HMR
  • 浏览器环境中,代码拆分性能依赖 AMD 库

如果咱们正在开发应用程序,须要大量引入第三方模块,利用过大还要分包

如果咱们开发一个框架或者类库,很少依赖第三方模块,大多数出名框架/库都在应用Rollup作为模块打包

总结:Webpack大而全,Rollup小而美,应用程序用webpack,库/框架Rollup

Rollup入口

Parcel

Parcel公布于2017年,过后Webpack应用上过于繁琐,齐全零配置,构建速度快

vs.Webpack

  • Webpack生态更好,扩大更丰盛
  • Webpack越来越好用

Parcel入口