babel是用来进行转码的,在不支持es6的环境下,需要将es6的语法转码成es5的语法格式,就用到了babel。

.babelrc 文件的配置

在项目的根目录下创建 .babelrc 文件

文件包括两部分:

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

  "presets"用来设定转码的规则;plugins是需要安装的插件

规则:

#安装最新的转码规则
$ npm install babel-preset-latest --save-dev#安装react的转码规则
$ npm install babel-preset-react --save-dev#不同阶段的语法提案的转码规则(4选1)
$ 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 文件中

  注意:该文件的编辑方式按照json文件的编辑习惯编辑。其中,不能使用 ' ' 代替 " "  。

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

命令行转码工具:babel-cli

一般的使用方法如下:

#安装命令行工具到全局
$ npm install -g babel-cli

#安装命令行工具到项目中$ npm install --save-dev babel-cli

改写package.json文件,将启动 babel-cli 的命令进行封装

#封装命令,名称随意"scripts": {..."babelCli":"babel src -d lib"},

#安装好之后自动添加"devDependencies": {

  ...
  "babel-cli": "^6.26.0",
 }

执行如下:

$ npm run babelCli

有关 babel-cli 的具体用法见阮老师的 ECMAScript6简介

babel-node:提供一个REPL环境

REPL 是交互式解析器 可以看这里 或自行百度 node的REPL。

简单的理解,就是提供可以在命令行进行一些运算。

babel-register:对文件自动转码

babel-register会对require引入的后缀为 ‘.js’, '.jsx' , '.es' , '.es6' 的文件进行转码。不需要再使用转码命令进行转码。

安装:

$ npm install --save-dev babel-register

引用:

require("babel-register");
require("./App.js");

注意:1.必须先引入babel-register 再引入文件。 2.引入的方式只能通过 require 的方式引入。3.只在生产环境生效

 babel-polyfill:提供转换新API的插件

有一些新的API,babel不会进行转化 --> IteratorGeneratorSetMapsProxyReflectSymbolPromise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码.安装了babel-polyfill之后就可以对这些新API进行转化。

#安装:
$ npm install --save-dev babel-polyfill

#使用import('babel-polyfill');require('babel-polyfill');

转载于:https://www.cnblogs.com/waterFowl/p/8990690.html

es6学习---.babelrc文件相关推荐

  1. es6学习笔记(一)

    es6 chrome兼容   其他浏览器不太兼容,需要es6=>es5   babel 安装babel   npm init -y  初始化项目   -y代表全部默认同意  不用一次次按回车 全 ...

  2. ES6学习(一)— Babel转码器的使用和配置

    ES6学习(一)- Babel转码器的使用和配置 Babel转码器 Babel是一个广泛使用的ES6转码器,可以将ES6代码转化为ES5代码从而在老版本的浏览器进行. 这意味着,你可以使用ES6的方式 ...

  3. javascript的ES6学习总结(第三部分)

    1.ES6中的面向对象的类 1.1.定义类 在ES5中,我们写一个类,通常是这么写的 function Person(name,age){this.name = name;this.age = age ...

  4. es6学习笔记-module_v1.0_byKL

    es6 学习-module_v1.0 ES6模块不是对象,而是通过export命令显式指定输出的代码,输入时也采用静态命令的形式. ES6的模块自动采用严格模式 export命令用于规定模块的对外接口 ...

  5. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  6. ES6学习——一文搞懂ES6

    ES6学习--一文搞懂ES6 es6介绍 ES全称EcmaScript,是脚本语言的规范,而平时经常编写的EcmaScript的一种实现,所以ES新特性其实就是指JavaScript的新特性. 为什么 ...

  7. .babelrc 文件

    文件干啥用的 babel是降es6转义成浏览器能理解的es5语法. 如果项目中用了babel 转移,需要定义babel需要的插件和预设转码. babel 一般可以配合 webpack . browse ...

  8. vue-cli中的.babelrc文件介绍

    转载自:https://www.jb51.net/article/135232.htm 介绍 es6特性浏览器还没有全部支持,但是使用es6是大势所趋,所以babel应运而生,用来将es6代码转换成浏 ...

  9. # es6 学习笔记

    es6 学习笔记 let变量 let和var用法级别一样 let不能重复声明,但是var可以 var varIns = "A"; var varIns = "B" ...

最新文章

  1. 生死讯息:密码背后的数学
  2. HTML5的本地存储详解
  3. Linux ps aux指令詳解--转
  4. Java 调用 Kotlin
  5. mysql之旅【第一篇】
  6. linux中SUID,SGID和SBIT的奇妙用途
  7. 学弟拿到了大厂推荐算法岗offer,分享一波他的经验
  8. VSCode配置vue用户代码片段Snippets
  9. RESTful Web 服务:教程
  10. 小程序 用户反馈_用户反馈如何提高我的应用程序的安全性
  11. CIE1931-XYZ转CCT和Duv
  12. 如何做好 Elasticsearch 性能指标监控
  13. Linux 升级glibc-2.18
  14. java邮箱465端口发送验证码,htmlmail465,465端口发邮件
  15. nodejs+express解决微信公众号token验证失败
  16. signal函数的简单用法
  17. 计算机专业新生研讨课资料整合
  18. 最近很火的滚动图标!手机图标随着手势滚动,让你的桌面动起来!
  19. C盘今天爆掉了,罪魁祸首--百度云管家
  20. Angular4.0分页组件

热门文章

  1. Android蓝牙开发其二
  2. Android 线程池概念及使用
  3. 动画库 Lottie 的使用
  4. git如何查看缓存区文件内容_GIT实操手册 —— 值得收藏的GIT常用命令字典
  5. python嵌套列表元素和_Python嵌套列表内部比较和编辑
  6. 涉密电脑痕迹深度清理_Mac空间不足的情况下,该怎么清理呢?
  7. (0043) iOS 开发之Xcode相关路径
  8. 用SERVLET进行用户名和密码验证
  9. Object.defineProperty的理解
  10. Docker Toolbox替换默认docker machine的存储位置