模块打包工具
- 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 入口