Babel是一个广泛使用的转码器,可以将ES6代码转译为ES5代码,从而在现有环境下执行。

举例说明:

转译前(ES6格式)代码如下:

let User = {
name : '张三',
age : 22
}; let { name, age } = User;
console.log( name, age );

      

转译后(ES5格式)代码如下:

'use strict';

var User = {
name: '张三',
age: 22
}; var name = User.name,
age = User.age; console.log(name, age);

  

如上用Babel转译为ES5格式后就可以在现有的javascript环境下运行了。 

babel安装与项目部署步骤如下:

1.新建一个babel_test文件夹,并在此文件夹里面新建src和dist两个文件夹。

2.在babel_test目录下初始化项目,生成 package.json文件。

npm init -y

3.安装bable(全局安装&本地安装) 

 全局安装

npm install -g babel-cli

 本地安装

npm install --save-dev babel-preset-es2015 babel-cli(建议安装在当前目录下)

4.在babel_test目录下新建 .babelrc文件,该文件用来设置转码规则和插件,基本格式如下。(Babel的配置文件是.babelrc,存放在项目的根目录下。使用Babel必须要配置这个文件。)

    {
"presets": [
"es2015"
],
"plugins": []
}

  

5.在src文件夹下面新建代码格式为ES6的文件1.js。(文件代码如本文前面ES6格式的代码)  

6.在cmd项目目录下运行 babel src/1.js -o dist/2.js ,babel会将ES6代码自动转译并在dist文件下生成ES5格式的代码文件2.js。(文件代码如本文前面ES5格式的代码)

7.编译成功,直接引用1.js就可以在现有环境下执行了。

Bable实现由ES6转译为ES5的更多相关文章

  1. es6的let与es5的var定义变量的区别

    es6的let与es5的var定义变量的区别 自身新手第一次接触let关键字的时候,不知道let与var的区别,本能认为是一样,但非如此,比如下述的代码运行就会报错: let hello = 'hel ...

  2. 使用babel把es6代码转成es5代码

    第一步:创建一个web项目 使用命令:npm init 这个命令的目的是生成package.json. 执行第二步中的命令后生成的package.json的文件的内容是: { "name&q ...

  3. ES6 arrow function vs ES5 function

    ES6 arrow function vs ES5 function ES6 arrow function 与 ES5 function 区别 this refs xgqfrms 2012-2020 ...

  4. webpack用 babel将ES6转译ES5

    webpack webpack.config.js配置文件 module.exports = { entry: './es6.js', // 入口文件路径 output: { filename: &q ...

  5. 解决webpack和gulp打包js时ES6转译ES5时Object.assign()方法没转译成功的问题

    在webpack或gulp打包的配置文件中package.json 引入"@babel/plugin-transform-object-assign": "^7.2.0& ...

  6. 如何使用Babel将ES6转码为ES5?

    一.前言: 当我们还在沉迷于ES5的时候,殊不知ES6早就已经发布几年了.时代在进步,WEB前端技术也在日新月异,是时候做些改变了! ECMAScript 6(ES6)的发展速度非常之快,但现代浏览器 ...

  7. 前端自动化 shell 脚本命令 与 shell-node 脚本命令 简单使用 之 es6 转译

    (背景: 先用 babel 转译 es6 再 用 browserify 打包 模块化文件,来解决浏览器不支持模块化 )(Browserify是一个让node模块可以用在浏览器中的神奇工具) 今天折腾了 ...

  8. ES6数组去重及ES5数组去重方法

    ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...

  9. Webpack4 学习笔记三 ES6+语法降级为ES5

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 Webpack 将es6.es7语法降级为es5 需要通过 babel JavaScript编译器. 安装: npm i babel ...

随机推荐

  1. 认识scrapy

    1.写一个爬虫,需要做很多事情.比如:发送网络请求,数据解析,数据存储,反扒虫虫机制(更换IP代理,设置请求头等),异步请求等.这些工作如果每次都要从零开始写的话,比较浪费时间.因此scrapy吧一些 ...

  2. ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddleware中间件如何针对响应码呈现错误页面

    StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件比较类似,它们都是在后续请求处理过程中“出错”的情况下利用一个错误处理器来完成最终的 ...

  3. Python前世今生以及种类、安装环境

    一.Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为A ...

  4. [Swift]LeetCode978. 最长湍流子数组 | Longest Turbulent Subarray

    A subarray A[i], A[i+1], ..., A[j] of A is said to be turbulent if and only if: For i <= k < j ...

  5. [Swift]LeetCode987. 二叉树的垂序遍历 | Vertical Order Traversal of a Binary Tree

    Given a binary tree, return the vertical order traversal of its nodes values. For each node at posit ...

  6. [Swift]LeetCode1013. 将数组分成和相等的三个部分 | Partition Array Into Three Parts With Equal Sum

    Given an array A of integers, return true if and only if we can partition the array into three non-e ...

  7. 关于scrollTop获取卷曲距离的三种方式- --兼容代码如下

    对于不同浏览器而言--获取卷曲距离方式可能有所不一样---下面提供三种方式--- scrollTop1 = window.pageYoffset || document.documentElement ...

  8. Python内置函数(17)——divmod

    英文文档: divmod(a, b) Take two (non complex) numbers as arguments and return a pair of numbers consisti ...

  9. mockjs,json-server一起搭建前端通用的数据模拟框架

    无论是在工作,还是在业余时间做前端开发的时候,难免出现后端团队还没完成接口的开发,而前端团队却需要实现对应的功能,不要问为什么,这是肯定存在的.本篇文章就是基于此原因而产出的.希望对有这方面的需求的同 ...

  10. MVC中Model元数据及绑定机制

    ASP.NET MVC的Model为View Model,表示最终呈现在View上的数据,而Model元数据的一个重要的作用在于控制对象在View上的呈现方式.说得更加具体点,就是基于某种数据类型的M ...