babel 基础概念理解及新手入门初体验
2019-07-25 16:52
1781 查看
一、Babel基础知识点的介绍
1. 什么是 babel, babel的简介和概述
Babel 是一个 JavaScript 编译器
Babel 是一个工具链(编译器),主要用于将
ECMAScript 2015+版本的代码转换为向后兼容的 JavaScript 语法,以便代码可以运行在当前和旧版本的浏览器或其他环境中。
作为一种语言,JavaScript 在不断发展,新的标准/提案和新的特性层出不穷。 在得到广泛普及之前,Babel 能够让你提前(甚至数年)使用它们。
Babel 把用最新标准编写的 JavaScript 代码向下编译成可以在今天随处可用的版本。 这一过程叫做“源码到源码”编译, 也被称为转换编译(
transpiling,是一个自造合成词,即转换+编译。以下也简称为转译)。
2. 为什么要使用 babel
因为babel是目前es6转es5的最火最好用的一款工具,也是使用最为广泛的一款
javascript编译器,对多款构建工具(包括
webpack、
gulp等)有良好的兼容场景;使用
es6+新特性可以极大的提升了我们的开发效率;当然,它也是编译
react、
jsx及
typescript等语法的最常用的工具;学习使用
babel以及它的配置,不仅更加深入的了解这个工具的使用,以及
AST语法树的原理,提升前端项目在多平台的兼容性,再也不用担心各种
IE兼容啦,而且掌握
babel也是进阶高级前端工程师的必要的一个途径。
3. babel 的特点
- 轻便,快捷,用户量广泛,社区强大
- 紧跟js新特性更新维护
- 对大量的第三方构建工具提供支持
- 配置种类很多,且简单易用
4. babel 有哪些用途
- es6+转es5语法转换
- jsx文件转成js文件
- 通过
Polyfill
方式在目标环境中添加缺失的特性 (通过@babel/polyfill
模块) - 源码转换 (
codemods
)
5. babel 的工作原理
- 解析:用
babylon
对源代码(比如ES6)进行词法解析,得到AST
- 转换:用
babel-traverse
对AST树进行遍历转换,得到新的AST
树 - 生成:用
babel-generator
通过AST树生成目标代码(比如ES5
)
相关文章推荐
- 新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践
- Unix网络编程入门学习(1)基础概念理解
- ruby元编程,基础入门概念理解
- 深度学习入门必须理解这25个概念
- 【数据库系统概念】第1-3章 数据库基础知识入门 知识总结
- Redis基础-1-基础入门理解
- SQL SERVER BI 入门:(1)安装与基础概念
- 架构漫谈(二):认识概念是理解架构的基础
- OpenFlow基础概念理解(1) FlowVisor
- 【机器学习】先搞懂这八大基础概念,再谈机器学习入门!
- Ajax入门 基础概念与方法
- RHEL6.3 DNS配置详解一 DNS相关概念理解及配置基础
- ElasticSearch入门(2) —— 基础概念
- Docker入门教程 Part 1 基础概念 - 镜像、容器、仓库
- 程序语言的底层描述(1)——汇编基础概念的开始之入门
- 先搞懂这八大基础概念,再谈机器学习入门!
- 正则基础(新手入门)
- Android新手入门教程(一):理解Activity生命周期
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <一>
- Html与CSS快速入门01-基础概念