关于ES6转换ES5语法


一、直接安装Babel法:

1. 首先全局安装Babel。

1
2
3
4
5
$ npm install -g babel-cli
 
//也可以通过直接将Babel安装到项目中,在项目根目录下执行下面命令,同时它会自动在package.json文件中的devDependencies中加入babel-cli
//在执行安装到项目中命令之前,要先在项目根目录下新建一个package.json文件。
$ npm install -g babel-cli --save-dev

如果将babel直接安装到项目中,它会自动在package.json文件中的devDependencies中加入babel-cli。如下所示:

1
2
3
4
5
6
//......
{
   "devDependencies" : {
     "babel-cli" : "^6.22.2"
   }
}

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

这个文件的完整文件名是 “.babelrc”,注意最前面是有个“.”的。由于我的电脑是Windows系统,所以在新建这个文件的时候老是提示 “必须键入文件名” 的错误。后来百度了下,发现创建这个文件的时候,把文件名改成“.babelrc.”,注意是前后都有一个点,这样就可以保存成功了

1
2
3
4
{
   "presets" : [],
   "plugins" : []
}

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

点击此处到Babel中文官网presets配置页面:Babel Plugins

1
2
3
4
5
6
7
8
9
10
11
# ES2015转码规则
$ npm install --save-dev babel-preset-es2015
 
# react转码规则
$ npm install --save-dev babel-preset-react
 
# ES7不同阶段语法提案的转码规则(共有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

4. 根据官网的提示,当我们用npm安装好这些插件工具之后,我们需要将这些规则加入到.babelrc中去。如下所示:

1
2
3
4
5
6
7
8
{
     "presets" : [
       "es2015" ,
       "react" ,
       "stage-2"
     ],
     "plugins" : []
   }

5. 转码、转码的规则:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 转码结果输出到标准输出
$ babel test.js
 
# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
$ babel a.js --out-file b.js
# 或者
$ babel a.js -o b.js
 
# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
$ babel src --out-dir lib
# 或者
$ babel src -d lib
 
# -s 参数生成source map文件
$ babel src -d lib -s

因为从网上搜的比较杂,然后我就都附到了这篇文章里了,

生成包管理配置文件package.json

?
1
npm init -y

安装转换工具

?
1
2
3
npm i -g babel-cli
 
npm i --save-dev babel-preset-es2015 babel-cli

在.babelrc文件中写入如下内容

?
1
2
3
4
5
6
{
  "presets": [
  "es2015"
  ],
  "plugins": []
}

编译文件

?
1
babel src /test .js -o dist /test .js



二、gulp配置法

1. 首先,我们需要在项目中安装gulp:

1
$ npm install gulp --save-dev

2. 然后,我们需要在项目中安装gulp-babel:

1
$ npm install --save-dev gulp-babel

当执行完上面的两个命令后,我们会发现根目录下的package.json文件内容已经被自动修改成:

1
2
3
4
5
6
7
{
   "devDependencies" : {
     "babel-cli" : "^6.22.2" ,
     "gulp" : "^3.9.1" ,
     "gulp-babel" : "^6.1.2"
   }
}

3. 编写gulpfile.js文件,文件内容如下所示:

1
2
3
4
5
6
7
8
var  gulp = require( "gulp" );
var  babel = require( "gulp-babel" );
 
gulp.task( "default" , function  () {
   return  gulp.src( "src/a.js" )
     .pipe(babel())
     .pipe(gulp.dest( "lib" ));
});

当我们在当前项目目录下运行如下命令后,会发现原本在src文件夹中的a.js(按照ES6标准编写的)文件已经被转码成ES5标准的a.js,并放在了lib文件夹里面。

1
2
3
4
$ gulp default
 
#或者用下面的命令也行
$ gulp

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值