Babel Regenerator and Polyfills

在写上一篇升级 Babel 7 过程中,发现 @babel/plugin-transform-runtime 插件除了添加 helper 函数之外,还可以转换生成器函数和添加 polyfills。但是 @babel/plugin-transform-regenerator 插件也可以转换生成器函数,那这两者之间有什么区别呢?同时 @babel/preset-env 通过 core-js 也能添加 polyfills,那他们之间又有什么区别呢?这篇文章我们来探讨一下。

升级 Babel 7

最近入职了一家新公司,发现前端项目里用的还是 Babel 6,其实 Babel 在 2018-08-28 就发布了 7.0.0 版本,距今已有 5 年多了,并且在项目中无法使用一些 JavaScript 新特性,比如 Optional Chaining,于是决定升级一下 Babel,顺便全面学习一下 Babel.