本地安装babel-preset-es2015 和 babel-cli
npm install --save-dev babel-cli babel-preset-es2015
新建新建.babelrc文件
输入以下:
{
"presets":[
"es2015"
],
"plugins":[]
}
单文件转换
babel es6/index.js -o es5/index.js
文件夹转换
babel es6/index.js -d es5/index.js
babel-polyfill
$ npm install --save babel-polyfill
然后,在脚本头部,加入如下一行代码
import 'babel-polyfill';
// 或者
require('babel-polyfill');
//或者在webpack.config.js中加入babel-polyfill到你的入口数组:
module.exports = {
entry:["babel-polyfill","./app/js"]
}
//在浏览器中使用在用npm下载的babel-polyfill文件中找到dist/polyfill.js文件。这个需要你在babel编译代码之前引入。你可以把它添加到你的编译文件最前面或者用<script>标签放到最前面。
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。
举例来说,ES6在Array对象上新增了Array.from方法。Babel就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片。
课外资料
阮一峰老师Babel入门
网友评论