babel是一个广泛使用的es6转换器,可以将ES6代码转为ES5代码,从而在老版本的浏览器执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。
Babel-cli(将es6的代码转换为es5的代码)
1.安装
npm install --global babel-cli
2.安装预设并且手动添加配置文件配置.babelrc
npm install --save-dev babel-preset-es2015
{ “presets”: [ "es2015"]}
3.使用
首先使用 npm init
初始化一个项目。
转码结果输出到标准输出
$ babel example.js
转码结果写入一个文件,--out-file 或 -o 参数指定输出文件
$ babel example.js --out-file compiled.js
整个目录转码 --out-dir 或 -d 参数指定输出目录
$ babel src --out-dir lib
Babel-polyfill
Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。举例来说,ES6 在Array对象上新增了Array.from方法。Babel 就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片。
1.安装
$ npm install --save babel-polyfill
2.在js文件中引用并且使用
import 'babel-polyfill'; // 或者 require('babel-polyfill');