使用 babel 将 ES6 转换为 ES5

 

ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。

Babel 主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。

一、安装 babel:

安装前需要电脑已安装node。

需要局部安装 babel-cli ,不要全局安装babel,如果全局安装时,那么意味着项目在其他环境运行时必须已安装babel,另外也无法给每个项目配置不同版本的bablel:

npm install babel-cli --save-dev

二、预设转码规则:

需要安装转换规则插件:

npm install babel-preset-es2015 --save-dev

还支持对react的语法转换:

npm install babel-preset-react --save-dev

ES7不同阶段语法转换规则,(共四个阶段):

npm install babel-preset-stage-0 --save-dev

npm install babel-preset-stage-1 --save-dev

npm install babel-preset-stage-2 --save-dev

npm install babel-preset-stage-3 --save-dev

 

安装完成后需要新建 .babelrc 文件进行配置转换规则:

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

pugins 为babel的插件配置,presest 为babel的转换规则配置,当前配置转换规则为 es2015。

 

三、实践(转换示例):

新建一个index.js文件,编写内容如下(典型的es6语法)用于转换为es5:

let name = '小书包';
let test = ()=>{
    console.log(name)
};

下面开始转换(将index.js的代码转换为es5输出到build.js文件):

babel index.js -o build.js

也可以批量转换(注意中间是 -d )

babel 源文件目录 -d 输出目录

build.js文件内容如下(转化后的代码):

'use strict';

var name = '小书包';
var test = function test() {
    console.log(name);
};

转换已完成!

babel 也可以搭配其他构建工具。如:webpack、gulp、grunt。

 

四、局部安装可能存在的问题(babel既不是系统命令也不是外部命令):

那是因为系统没有找到babel.cmd文件。

其实babel.cmd文件可以在项目目录下的 node_module\.bin\目录下:

既然知道了路径,那么我们在使用命令之前写上路径就可以执行了,如下:

node_modules\.bin\babel index.js -o build.js

但是我们每次执行都加上这么一句前缀,是非常的麻烦,那么我们可以通过自定义脚本命令去简化我们的 操作:

可已在package.json文件中添加脚本命令:

注意:自定义命令时,输入的路径存在 "\." 、"\n”、 "\b"时,会被认为是转义符,所以需要在前面加个斜杠 "\",进行反转义。

配置完成脚本命令后。通过   "npm run 自定义的脚本名称"   的方式执行:

npm run babel

以上命令相当于执行了:

node_modules\.bin\babel index.js -o build.js

这样就简化了操作。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值