Babel 6 概述

babel-core

只转换语法(如箭头函数)

 

babel-polyfill

由core-js和regenerator runtime组成。

1 core-js用来支持新的全局变量(例如 Promise、Symbol等) 、新的原生方法(如 String.padStart等)。

2 regenerator runtime由facebook提供,用ES 5实现了生成器函数(GeneratorFunction)、迭代器(AsyncIterator)。

   生成器函数(function *)、async/await函数会被编译成regenerator runtime实现的生成器函数、迭代器来运行。

 

Presets(预设)

1 babel-preset-env:指定目标环境(浏览器类型、浏览器版本)

2 babel-preset-stage-x:对现在尚未被批准发布的部分进行转换。

  

 TC39委员会将提案分为以下阶段:

  • Stage 0 - 稻草人: 只是个想法可能会有相关的 Babel 插件。
  • Stage 1 - 提议: 值得深入。
  • Stage 2 - 草稿: 初始规范。
  • Stage 3 - 候选: 完整的规范和初始浏览器实现。
  • Stage 4 - 结束: 将被添加到下一个年度版本中。

3 babel-preset-react用来编译JSX语法

4 babel-preset-vue用来编译Vue

 

Plugins(插件)

控制babel的编译行为。

babel-plugin-transform-runtime可以设置编译后的脚本文件引用公共函数等,而不是每个脚本文件都持有一个副本,导致代码冗余。

posted on 2019-03-19 11:02  沙滩海风  阅读(219)  评论(0编辑  收藏  举报

导航