构建模块化捆绑包
- 这个过程产生的是现代JavaScript模块,通常是使用ES6+的语法编写的代码。
- 输出的结果代码会利用诸如
import和export等ES6模块特性。 - 目标是现代浏览器,这些浏览器支持ES6模块,并且通常有更好的性能和更新的API。
- 由于目标是现代浏览器,这样的包通常不需要太多的polyfills(用来在旧浏览器中模拟现代浏览器功能的代码)和转译,因此包的体积会更小,加载也更快。
构建传统捆绑包
- 这个过程则是为了兼容旧版浏览器(如Internet Explorer),将代码转译成较老版本的JavaScript(通常是ES5)。
- 除了转译语法,还可能包括polyfills来支持旧浏览器中不存在的现代API。
- 这种捆绑包的体积通常更大,因为它包含了更多来自Babel之类工具的转译代码和polyfills。
- 即便处理后的代码在现代浏览器上也可以运行,但这种包设计的初衷是确保在旧版浏览器上也可以正常工作。