前端码农babel入门学习

一、babel是什么

Babel官网上是这样说的:

Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel 你可以使用(并创建)下一代的 JavaScript,以及下一代的 JavaScript 工具。作为一种语言,JavaScript 在不断发展,新的标准/提案和新的特性层出不穷。 在得到广泛普及之前,Babel 能够让你提前(甚至数年)使用它们。Babel 把用最新标准编写的 JavaScript 代码向下编译成可以在今天随处可用的版本。 这一过程叫做“源码到源码”编译, 也被称为转换编译(transpiling,是一个自造合成词,即转换+编译。以下也简称为转译)。

我理解的大概意思就是 JavaScript 不断发展,标准不断更新,但是有些新语法很多浏览器或其他环境是不支持的,为了码农们能够尽早的使用新的标准,又能有很好地兼容性,就能用babel将JavaScript 代码向下编译成可用的版本,即上面说的转译。

但是官网还说, Babel 的用途并不止于此,还支持语法扩展,能支持像 React 所用的 JSX 语法,同时还支持用于静态类型检查的流式语法,但是咱也不知道具体有啥用,就等之后再学吧,目前就先知道它常用来做转译。

另外,babel 本身不具有任何转译功能,主要靠 plugin。因此当我们不配置任何插件时,经过 babel 的代码和输入是相同的。

二、模块

1、babel-core(核心)

babel 的核心 api 都在core这个模块中,这个模块会把我们写的 js 代码抽象成 AST 树,然后再将 plugins 转译好的内容解析为 js 代码,所以要想使用babel就必须安装babel-core

2、babel-polyfill(内部集成了 core-js 和 regenerator)

babel 几乎可以编译所有时新的 JavaScript 语法,但一些新的 api却不行,polyfill 即是在当前运行环境中用来复制(意指模拟性的复制,而不是拷贝)尚不存在的原生 api 的代码。

3、babel-cli

babel 的 cli 是一种在命令行下使用 babel 编译文件的简单方法,安装之后就可以通过命令 babel xxx.js 进行转译。

4、babel-runtime & ba

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值