Babel 转码器

Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。

// 转码前
input.map(item => item + 1);  // 转码后 input.map(function (item) { return item + 1; }); 

上面的原始代码用了箭头函数,Babel 将其转为普通函数,就能在不支持箭头函数的 JavaScript 环境执行了。

配置文件.babelrc

Babel 的配置文件是.babelrc,存放在项目的根目录下。使用 Babel 的第一步,就是配置这个文件。

该文件用来设置转码规则和插件,基本格式如下。

{"presets": [], "plugins": [] } 

presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。

# 最新转码规则
$ npm install --save-dev babel-preset-latest # react 转码规则 $ npm install --save-dev babel-preset-react # 不同阶段语法提案的转码规则(共有4个阶段),选装一个 $ npm install --save-dev babel-preset-stage-0 $ npm install --save-dev babel-preset-stage-1 $ npm install --save-dev babel-preset-stage-2 $ npm install --save-dev babel-preset-stage-3 

然后,将这些规则加入.babelrc

  {"presets": [ "latest", "react", "stage-2" ], "plugins": [] } 

注意,以下所有 Babel工具和模块的使用,都必须先写好.babelrc

转载于:https://www.cnblogs.com/yuexiuyi/p/7395660.html

Babel概述及使用相关推荐

  1. ES6(ECMAScript6)-ES11 从入门到修仙

    ES6:ECMAScript6 一.ES6新特性 1.let变量声明以及声明特性 1.1 let let 关键字用来声明变量,使用 let 声明的变量有以下几个特点: let a; let b,c,d ...

  2. ES6-ES11学习笔记

    ES6-ES11学习笔记 一.概述 1 .什么是 ECMA ECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个 组织 ...

  3. 前端工程化概述||模块化相关规范

    前端工程化 模块化概述 浏览器端模块化规范 服务器端模块化规范 大一统的模块化规范 – ES6模块化 ① npm install --save-dev @babel/core @babel/cli @ ...

  4. MIT自然语言处理第一讲:简介和概述(第一部分)

    自然语言处理:背景和概述 Natural Language Processing:Background and Overview 作者:Regina Barzilay(MIT,EECS Departm ...

  5. webpack — 概述介绍

    webpack概述 webpack是一个流行的前端项目构建工具(打包工具),可以解决当前web 开发中所面临的困境. webpack提供了友好的模块化支持,以及代码压缩混淆.处理js兼容问题.性能优化 ...

  6. 004-React入门概述

    一.概述 参考地址:https://reactjs.org/docs/try-react.html 1.1.本地快速体验 <!DOCTYPE html> <html><h ...

  7. 狂神说——大前端进阶NodeJS、Npm、Es6、Babel、Webpack、模块化使用

    参考资料 文章目录 01 大前端基础知识概述 02 概述和前端工具VSCode安装 03 Nodejs的安装 04 Nodejs了解和快速入门 05 Nodejs实现htppserver服务 06 N ...

  8. 大前端进阶!NodeJS、Npm、Es6、Babel、Webpack、模块化开发

    文章目录 大前端进阶 一.Node.js 1.1.Nodejs介绍和安装 1.2 .Nodejs入门 1.2.1.快速入门-Hello World 1.2.2.Node - 实现请求响应 1.2.3. ...

  9. (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口

    文章目录 (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口 1.项目概述 1.1 项目介绍 1.2 硅谷课程流程图 1.3 硅谷课堂功能架构 1.4 硅谷课堂技术架构 1. ...

最新文章

  1. pc 页面在移动端怎么获取放大倍数、_百度移动搜索开放适配服务的3种方法
  2. ubuntu9.10下关闭和启用3D桌面(compiz)特效的命令
  3. SRM596 DIV2 1000
  4. Storm教程2安装部署
  5. Oracle中的伪列
  6. MFC - CStdioFile 读取txt文件UNICODE 中文异常
  7. GSM:联通项目中的常见术语(BTS、BSC、MSC、VLR、HLR)
  8. 如何修改一个类的私有成员?
  9. 浅析机关单位人力资源内部控制
  10. python3.7安装Numpy库
  11. 怎么用dos系统进入服务器,怎么用DOS命令方式启动系统服务
  12. 美团一站式机器学习平台
  13. excel输入 正在计算机,在Excel中输入内容后如何自动填写日期和时间
  14. Unity实现键鼠控制立方体移动旋转
  15. 电磁场知识回顾——求解方法汇总
  16. Redhat7/Centos7服务器设置IP地址
  17. 单臂路由配置-ZTE中兴交换机
  18. HTTP状态码的含义
  19. CSS+DIV三种布局方式
  20. 广告拦截应用将从Google应用商城中移除

热门文章

  1. Flutter入门三部曲(3) - 数据传递/状态管理 | 掘金技术征文
  2. 在zabbix web上进行监控主机配置
  3. 原生js实现canvas气泡冒泡效果
  4. ubuntu下安装vmtools失败,提示The path is not a valid path to the 3.5.0-17-generic kernel headers的解决办法...
  5. 真的汉子不多,褚时健褚老算一个
  6. malloc和new有什么区别
  7. Android 和 Chrome OS 融合的可能性
  8. Dependence Injection
  9. android fitsSystemWindows的使用
  10. Java集合—ArrayList底层原理