美文网首页
babel 6 要点记录

babel 6 要点记录

作者: 拉面的无聊时光 | 来源:发表于2019-02-20 11:18 被阅读0次

babel-core

  • Babel-types: Babel Types 是一个为 AST 节点提供的 lodash 类的实用程序库
  • Babel-register: require 钩子会将自己绑定到 node 的require 上并且能自动即时编译
  • Babel-template: 从一个字符串模板中生成 AST
  • Babel-helpers: Babel 转换的帮助函数集合
  • Babel-code-frame: 生成指向源位置包含代码帧的错误
  • Babylon: Babylon 是一个用于 Babel 的 JavaScript 解析器
作用:

1.babel-core的transfrom等api的函数可以将js文件或者代码生成 ast,source map 的
2.babel的各种编译插件的基础

两种垫片库

1. babel-polyfill

  • core.js 包括promise,set, Reflect 和 Array.prototype.includes 实例方法
  • regenerator runtime : 包括async ,await, yeild 的编译方法

使用方式:

//全局一次引入
require("babel-polyfill");
//webpack.config.js方式
module.exports = {
  entry: ["babel-polyfill", "./app/js"]
};

优点

  • 一次引入,无需配置,方便使用
  • 通过env配置(useBuiltIns)可减少发布包体积

缺点

  • 引入包有点大
  • 影响全局作用域(适用以一个独立应用)

2. transform-runtime

  • core-js: 引入babel-runtime/core-js ,包括promise,set,Reflect 等,但不包括实例方法如:includes
  • helpers: 引入babel-runtime/helpers,帮助函数
  • regenerator: 引入 babel-runtime/regenerator, async,generator编译函数

使用方式:

//通过插件方式使用
{
  "plugins": ["transform-runtime"]
}

优点:

  • require方式引入,编译后代码量减少
  • 引入之后不会影响全局作用域(适用于开发一个工具 / 库)

缺点

  • 不能编译es6新增的实例方法

useBuiltins

  • false : 默认引入所有垫片库
  • entry: 根据env的target来引入浏览器不支持的垫片
  • usage: 根据用户编写的代码,引入用户所需的垫片

相关文章

  • babel 6 要点记录

    babel-core Babel-types: Babel Types 是一个为 AST 节点提供的 lodash...

  • Babel使用姿势

    本篇围绕gulp记录Babel的使用,其它工具差不多 1、安装gulp-babel babel的作用是将ES6转换...

  • ES6 转码为 ES5 (Babel)

    Babel 6 与之前版本的区别 之前版本只需安装一个 babel,但在 babel 6 中,将 babel 拆分...

  • 了解 Babel 各个模块

    了解 Babel 各个模块 本文所研究的是 babel 6 版本。babel 6 是 2015年10月30号 发布...

  • ES6常用特性(一)

    本文根据阮一峰老师《ECMAScript 6 入门》一书记录,只记录常用特性,适合快速学习 一、 Babel转码器...

  • 安装Babel,es6转es5

    安装Babel(命令行环境,针对Babel6.x版本)1、首先安装babel-cli(用于在终端使用babel) ...

  • [Mark]使用 babel-6 进行开发

    标签: es6 babel-6 (https://babeljs.io)发布了。babel-6 可以直接使用 ba...

  • 5.es6转es5

    1.安装依赖 cnpm i -D babel-core@6 babel-loader@7 babel-plugin...

  • 边学边写webpack4 -- 语法降级

    ES6降级ES5 cnpm install babel-loader babel-core babel-prese...

  • babel 常见用法

    1. babel 5.x 和babel 6.x babel 5.x -> 6.x 的变化非常大,15 年 11 月...

网友评论

      本文标题:babel 6 要点记录

      本文链接:https://www.haomeiwen.com/subject/fyobeqtx.html