Rollup工具
2020-02-03 前端工程化
Rollup简介 #
Rollup 是一款 ES Modules
打包器。它也可以将项目中散落的细小模块打包为整块代码,从而使得这些划分的模块可以更好地运行在浏览器环境或者 Node.js 环境。
Rollup 优势 #
- 输出结果更加扁平,执行效率更高;
- (tree-shaking)自动化移除为引用的代码
- 打包的结果依然完全可读
- 让打包文件体积很小、更快的包
劣势 #
- 加载非 ESM 的第三方模块比较复杂;
- 因为模块最终都被打包到全局中,所以无法实现热重载HMR.
- 浏览器环境中,代码拆分功能必须使用
Require.js
这样的AMD
库
与Webpack的对比 #
- 我们发现如果我们开发的是一个应用程序,需要大量引用第三方模块,同时还需要
HMR
提升开发体验,而且应用过大就必须要分包。那这些需求Rollup
都无法满足。 - 如果我们是开发一个JavaScript 框架或者库,那这些优点就特别有必要,而缺点呢几乎也都可以忽略,所以在很多像
React
或者Vue
之类的框架中都是使用的Rollup
作为模块打包器,而并非Webpack
.
Webpack 大而全,Rollup 小而美。原则是:应用开发使用 Webpack,类库或者框架开发使用 Rollup。
资料 #
版权属于: vincent
转载时须注明出处及本声明
Tags:# Rollup