提起babel,前端er大概都不陌生。但是为什么要有babel呢?解决了什么问题?怎么使用babel呢?注意点在哪?以下就从这几个方面总结一下我关于babel学习的结果吧。

为什么要有babel呢?

距离ES2015提出已经有几年了,各个浏览器厂商也在积极地支持着各个好用的ES6的新特性和新语法。但是还有许多的东西还是不支持的。所以这个时候就需要有一个编译器,把ES6+的语法转换成<=ES5的语法。

怎么使用babel呢?

  • 安装babel相关的库
yarn add @babel/core @babel/cli @babel/preset-env -D
yarn add @babel/polyfill
  • 配置好babel.config.js或者.babelrc(只需要配置一个就行)

    babel.config.js

    module.exports = function(api) {
    api.cache(true); // 这句要加上
    const presets = [
    [
    "@babel/env",
    {
    targets: {
    // ie: '9',
    edge: "17",
    firefox: "60",
    chrome: "67",
    safari: "11.1",
    },
    useBuiltIns: "usage",
    },
    ],
    ];
    const plugins = [
    ["@babel/plugin-transform-arrow-functions", { "spec": true }]
    ];
    return {
    presets,
    plugins
    }
    };
    const presets = [
    [
    "@babel/env",
    {
    targets: {
    // ie: '9',
    edge: "17",
    firefox: "60",
    chrome: "67",
    safari: "11.1",
    },
    useBuiltIns: "usage",
    },
    ],
    ];
    const plugins = [
    ["@babel/plugin-transform-arrow-functions", { "spec": true }]
    ];

module.exports = {

presets,

plugins

};

  .babelrc
```js
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
// ie: '9',
"edge": "17",
"firefox": "60",
"chrome": "67",
"safari": "11.1",
},
"useBuiltIns": "usage",
},
]
],
"plugins": [
"@babel/plugin-transform-arrow-functions"
]
}

注意点在哪?

Trying to build Jest is throwing “Caching was left unconfigured.”

怎么写一个babel插件

Babel 插件手册

关于babel官网的学习的更多相关文章

  1. 官网英文版学习——RabbitMQ学习笔记(十)RabbitMQ集群

    在第二节我们进行了RabbitMQ的安装,现在我们就RabbitMQ进行集群的搭建进行学习,参考官网地址是:http://www.rabbitmq.com/clustering.html 首先我们来看 ...

  2. 官网英文版学习——RabbitMQ学习笔记(一)认识RabbitMQ

    鉴于目前中文的RabbitMQ教程很缺,本博主虽然买了一本rabbitMQ的书,遗憾的是该书的代码用的不是java语言,看起来也有些不爽,且网友们不同人学习所写不同,本博主看的有些地方不太理想,为此本 ...

  3. Spark官网资料学习网址

    百度搜索Spark: 这一个是Spark的官网网址,你可以在上面下载相关的安装包等等. 这一个是最新的Spark的文档说明,你可以查看如何安装,如何编程,以及含有对应的学习资料.

  4. 官网英文版学习——RabbitMQ学习笔记(二)RabbitMQ安装

    一.安装RabbitMQ的依赖Erlang 要进行RabbitMQ学习,首先需要进行RabbitMQ服务的安装,安装我们可以根据官网指导进行http://www.rabbitmq.com/downlo ...

  5. 学习技巧-如何在IBM官网寻找学习资料

    场景:最近看招聘职位TM1比较火,于是就想找一下Cognos TM1的资料来拜读一下,然后论坛都是大价钱的金币,迫于无奈只好来到IBM的官网来寻求指导 http://www.ibm.com/us/en ...

  6. 跟着minium官网介绍学习minium-----(一)

    某天,再打开微信开发者工具的时候收到一条推送.说是微信小程序自动化框架 Python 版 -- Minium 公测. Url如下: https://developers.weixin.qq.com/c ...

  7. 官网英文版学习——RabbitMQ学习笔记(三)Hello World!

    参考http://www.rabbitmq.com/tutorials/tutorial-one-java.html,我们直接上代码,由于我们的RabbitMQ服务是安装在虚拟机上的,具体参考上一节. ...

  8. 跟着minium官网介绍学习minium-----(二)

    一: 进入minium官方文档 1. 进入minium目录然后运行服务,出现以下提示说明打开成功, 2. 浏览器直接运行http://localhost:3000即可看到效果. 3. 下图为进入网页后 ...

  9. KnockoutJs官网教程学习(一)

    这一教程中你将会体验到一些用knockout.js和Model-View-ViewModel(MVVM)模式去创建一个Web UI的基础方式. 将学会如何用views(视图)和declarative ...

随机推荐

  1. ISP PIPLINE(零) 知识综述预热之光学概念篇

    1.光学成像关系如下:这是我看到最清晰的易懂的数学关系图 2.上面的知识了解完,camera应用的知识就是Autofocus技术,自动对焦 马达的起始位置一般在焦距处,由上面光学数学关系可知,焦距处可 ...

  2. Hibernate Session对象核心方法

    1. 持久化对象的状态: 站在持久化的角度,Hibernate 把对象分为四种状态:持久化状态,临时状态,游离状态,删除状态 Session 的特定方法能使对象从一个状态转到另一个状态 临时对象: 在 ...

  3. 根据浏览器判断是下载IOS还是其它的手机安装包

    http://tiao.67767.cn/DownLoad.aspx?cid=3509           <!DOCTYPE html>   <html>   <hea ...

  4. HTML入门3

    HTML主要工作在于编辑文本结构和文本内容,也称语义(semantics)以便能够再浏览器正确地显示,下面开始介绍在文本中添加标题,段落,强调语句,创建列表等等 基础:标题和段落 内容结构化会使得阅读 ...

  5. CSS3_过渡_2D 变换_瓶体旋转_动态时钟

    1. 过渡 transition 允许 CSS 的属性值在一定时间内平滑的过渡, 在鼠标点击,鼠标滑过或对属性改变中触发,并圆滑的改变 CSS 的属性值 简写属性: #box { width: 300 ...

  6. 日期求星期(java)-蓝桥杯

    日期求星期问题(java)-蓝桥杯 1:基姆拉尔森计算公式(计算星期) 公式: int week = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7; 此处y,m,d指代年 ...

  7. 推荐几种Java任务调度的实现

    几种任务调度的 Java 实现方法与比较--转载 原文:http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/ 写了一天的作业调度,这 ...

  8. Django学习之django自带的contentType表 GenericRelation GenericForeignKey

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  9. Python 学习笔记7 条件语句 If

    Python中条件语句if 是通过一条或者多条的执行语句的结果,来判断是否执行其包含的代码块. 通常会配合else.elif一起使用,达到根据条件进行多个代码块的执行操作. 简单的if score = ...

  10. 使用sessionStorage进行数据存值

    <!DOCTYPE html> <head> <meta charset="UTF-8" /> <meta name="view ...