1. babel环境搭建和基本配置
高级语法通过.babelrc文件中的presets下的@babel/preset-env解决,如果用react就是添加@babel/preset-react, plugins属于presets的扩充
2. babel-polyfill是什么
是core-js和regenerator的集合, 在babel7.4之后弃用了, 现在推荐直接使用 core-js和regenerator
什么是polyfill?
根据浏览器做补丁, 比如浏览器是否支持indexOf
什么是core-js?
集成了所有的ES6,7等以上新语法的polyfill补丁
3. babel-polyfill按需引入
babel只解析语法,
不处理模块化 (webpack处理模块化)
babel-polyfill文件很大, 需要做按需导入
4. babel-polyfill的问题
- 会污染全局环境, 如果做一个第三方的库, 会产生问题
解决方案:
- 安装@babel/plugin-transform-runtime和@bael/runtime插件
- 配置.babelrc