Babel是什么
Babel就是一个JS的“编译器”。主要因为前端语言特性和宿主(浏览器/node.js)环境高速发展,但宿主环境对新语言的特性支持无法做到时,而开发者又需要兼容各种宿主环境,因此需要语言特性的降级。
babel主要完成以下内容:
- 语法转换,一般是高级语言特性的降级
- polyfill特性的实现和接入
- 源码转换,比如JSX等
梳理Babel
- @babel/core 是babel实现转换的核心,可以根据配置,进行源码的转换
- @babel/cli 是babel提供的命令行
- @babel/standalone 非node.js环境自动编译text/babel或text/jsx的type值的script标签, 可以在浏览器中直接执行,浏览器环境动态插入高级语言特性的脚本、在线自动解析编译非常有意义