build-tools
打包工具对比
Webpack
webpack
功能强大,不止能打包模块,还能做很多rollup
无法做到的事情,这也导致webpack
的学习成本很高。
- 通过loader处理各种各样的资源依赖
- HMR模块热替换
- 代码按需加载
- 提取公共模块
rollup
rollup
按照单一功能设计原则(功能单一,可继承,可扩展),只做模块化打包功能,除此之外,rollup
无法支持其他功能。学习成本极低,容易上手。虽然功能单一,但rollup
将模块打包功能做到极致,打包速度非常快,且打包出来的代码将尽可能的压缩。
- 配置简单,打包速度快
- 自动移除未引用的代码(内置tree shaking)
但是他也有以下不可忽视的缺点:
- 开发服务器不能实现模块热更新,调试繁琐
- 浏览器环境的代码分割依赖amd
- 加载第三方模块比较复杂