本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/08/08/babel%E4%B8%AD%E7%9A%84polyfill/
摘要
本文主要讲述了:
- 背景
- 作用
- 安装
- 示例
正文
背景
默认情况下 babel 只能转换新的语法(例如:箭头函数),而不能转换:
- 新的内建函数,例如:
Promise
和WeakMap
- 新的静态方法,例如:
Array.from
和Object.assign
- 新的原型方法,例如:
Array.prototype.includes
- 生成器函数
于是 babel 使用由core-js/stable
和regenerator-runtime/runtime
组成的@babel/polyfill
模拟完整的 ES6+环境
自babel@7.4.0
版本起,@babel/polyfill
已经被弃用。babel 推荐直接使用core-js/stable
和regenerator-runtime/runtime
作用
core-js/stable
用于填充 ECMAScript 特性(新的内建函数、新的静态方法、新的原型方法)
regenerator-runtime/runtime
用于为生成器函数提供运行时
安装
1 |
|
示例
learn_babel/babel.config.js
1 | module.exports = { |
源文件:
learn_babel/index.js
1 | import 'core-js/stable'; |
运行:
1 |
|
输出:
learn_babel/index.compiled.js
1 | ; |
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/08/08/babel%E4%B8%AD%E7%9A%84polyfill/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2019/08/08/babel%E4%B8%AD%E7%9A%84polyfill/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。