打包
为什么曾经需要打包
- http1.x 中浏览器的并行连接限制
- 浏览器原生不支持模块化(如 Commonjs 包不能直接在浏览器运行,需要通过打包工具转为立即执行函数交给浏览器运行)
- 项目依赖 关系需要管理
为什么打包后还需要分包
- 分包后浏览器可以缓存极少发生变化的第三方大依赖包,用户刷新页面时只请求频繁变动的业务代码包
为什么我们现在可以使用 bundleless ?
- http2.0 支持多路复用
- 各大浏览器对 ESM 的支持越来越完善,模块代码可以直接在浏览器中运行,也间接解决了依赖管理的问题