前端行者

[分享] Babel-ES6转ES5

2018-02-27  本文已影响0人  是ADI呀

本地安装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入门

上一篇 下一篇

猜你喜欢

热点阅读