[分享] Babel-ES6转ES5

简介: [分享] Babel-ES6转ES5

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

目录
相关文章
|
前端开发 JavaScript Java
ES11,ES12,ES13
ES11,ES12,ES13
102 1
|
4月前
|
存储 JavaScript 前端开发
ES6
ES6
36 1
ES6(二)
es6相关知识
63 0
|
网络架构 索引
ES6(一)
- 使用let,声明的变量仅在块级作用域内有效 - var命令声明的,在全局范围内都有效 - const声明一个只读的常量。一旦声明,常量的值就不能改变。 - const的作用域与let命令相同:只在声明所在的块级作用域内有效。 - let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。 - let不允许在相同作用域内,重复声明同一个变量。 - 什么时候用 let,什么使用用 const——如果不知道用什么的时候,就用 const
48 0
ES6 Day02
ES6 Day02
56 0
|
前端开发 容器
ES6 Day04
ES6 Day04
73 0
|
JavaScript 前端开发 Java
【ES6】初识
【ES6】初识
|
存储 JSON 自然语言处理
ES
ES
485 0
|
前端开发 JavaScript 编译器
ES6、Babel
这篇文章我们主要讲两个方面的知识: 1、讲解ES6里面比较难理解的,但面试经常会问到的相关知识。 2、讲解Babel的原理以及如何使用Babel。
|
网络架构
Day20 ES6
ECMAScript 6.0
67 0