babel 是什么?
官方解释:是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。
Babel 能为你做的事情:
语法转换
通过 Polyfill 方式在目标环境中添加缺失的特性 (通过 @babel/polyfill 模块)
源码转换 (codemods)
更多!
官网:https://www.babeljs.cn/docs/
遇到过的问题
babel6.x的项目引入babel7.x的npm包时,编辑会报错。
故应避免低版本与高版本babel混合使用。
附录
- 编译器原理(Babel 的工作方式):https://github.com/jamiebuilds/the-super-tiny-compiler