es6 转es5_es6转换es5

es6 转es5_es6转换es5为什么要es6转es5?答:es6代码在老版本的浏览器中无法执行。怎么将es6代码转为es5代码,让其在老版本的浏览器中执行?答:使用babel模块,babel是一个使用非常广泛的es6转换器,这就意味着我们可以将es6代码转为es5代码,从而在老版本的浏览器中执行。使用步骤:新建一个新的用来编写es6代码的文件夹,进入到该文件中,初始化一个项目npminit表示一步步通过配置来初始化一个项目npminit-y表示使用默认设置来快速初始化一个项目局部安装babel-cli


Jetbrains全系列IDE稳定放心使用

为什么要es6转es5?

答:es6代码在老版本的浏览器中无法执行。

怎么将es6代码转为es5代码,让其在老版本的浏览器中执行?

答:使用babel模块,babel是一个使用非常广泛的es6转换器,这就意味着我们可以将es6代码转为es5代码,从而在老版本的浏览器中执行。
使用步骤:

  1. 新建一个新的用来编写es6代码的文件夹,进入到该文件中,初始化一个项目

npm init 表示一步步通过配置来初始化一个项目
npm init -y 表示使用默认设置来快速初始化一个项目

  1. 局部安装babel-cli、babel-preset-latest模块

npm install --save-dev babel-cli babel-preset-latest babel-cli是babel模块的一个命令行工具,babel-preset-latest是babel的转化规则

  1. 在文件目录下新建配置文件,名字为.babelrc,这是使用babel转化器的第一步设置
    {
      "presets":["latest"],
       "plugins": []
    }
  1. 使用命令进行转化

babel example.js 转码结果输出到控制台
babel a.js --out-file b.js –out-file 或 -o 参数指定输出文件
babel src --out-dir dist –out-dir 或 -d 参数指定输出目录

实例:

//转化之前为es6
let test = () => { 
   
    console.log("hello world");
}

经过babel-cli命令行工具和babel-preset-latest预设规则,转化后为如下带啊吗:

"use strict";
var test = function test() { 
   
    console.log("hello world");
};

注意点:所有 Babel 工具和模块的使用,都必须先写好.babelrc,即安装好babel-preset-latest并配置好.babelrc才能正常使用

但是babel转化器默认只会新的JavaScript句法,而不转换新的API,比如我们要学的Iterator、Generator、Set、Map、Proxy、Reflect、Symbol、Promise等全局对象,以及定义在全局对象上的方法(比如Object.assign)都不会转码

举例来说,ES6 在Array对象上新增了Array.from方法。Babel 就不会转码这个方法。如果想让这个方法运行,可以使用core-js和regenerator-runtime(后者提供generator函数的转码),为当前环境提供一个垫片

实例:
未使用垫片时:

var arr = [1, 2, 3, 2];
var arr_new = Array.from(arr);
console.log(arr_new);

使用命令babel xxx.js,控制台输出的依旧和原来的一样
这个时候就要使用垫片了

使用步骤:

  1. 安装垫片

npm install --save-dev core-js regenerator-runtime

  1. 在需要转化的文件中加入这两句

require('core-js');和require('regenerator-runtime');

  1. 接着使用babel命令转化即可
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189914.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • idea激活码在线生成【2022最新】2022.02.08

    (idea激活码在线生成)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4KDDGND3CI-eyJsaWN…

    2022年4月1日
  • 字符串指针赋值小结

    字符串指针赋值小结字符指针赋值探究小结1,字符指针有初始值时,不能修改其中字符的值#include<iostream>usingnamespacestd;intmain(){ char*p1=”nihao”;//字符指针赋值给字符指针只能读不能修改字符的值 …

    2022年7月27日
  • 2021好玩的微信小程序_如何制作微信小程序

    2021好玩的微信小程序_如何制作微信小程序一、前期准备工作1、注册微信小程序开发者账号在官网注册页选择小程序注册即可,账号分为个人版和企业版:个人版相对于企业版注册流程更为简单和宽松。企业版注册需要支付认证费用,一般为300元,个人版不需要,企业版经过微信官方认证,更具有信誉度。个人版更多只是一个展示的平台,企业版可以作为一个完整的平台,个人版不可以做商业性质的小程序,但是企业版可以,个人版不可以开通微信支付。附近的小程序不显示个人版,只能通过搜索,扫码方式找到。个人版不支持快速获取微信用户的手机号。2、下载微信开发者工具微信平

    2022年9月30日
  • keras+resnet34实现车牌识别

    keras+resnet34实现车牌识别1.使用PIL和opencv生成车牌图像数据fromPILimportImageFont,Image,ImageDrawimportcv2importnumpyasnpimportosfrommathimport*#创建生成车牌图像数据的类index={“京”:0,”沪”:1,”津”:2,”渝”:3,”冀”:4,”晋”:5,”蒙”:6,”辽”:7,”吉”:8,”黑”:9,”苏”:10,”浙”:11,”皖”:12,

    2022年9月28日
  • httprunner3源码解读(3)client.py

    httprunner3源码解读(3)client.py源码目录结构ApiResponse这个类没啥好说的classApiResponse(Response):"""继承了requests模块中的Response类

    2022年7月31日
  • UNIX命令

    UNIX命令 一、UNIX命令格式1、UNIX命令提示符   在命令行下,操作系统会显示一提示符,提示用户在此提示符后可以输入一行命令。不同的Shell有不同的缺省提示符:       BShell和KShell的缺省提示符为”$”;       CShell的缺省提示符为”%”;       但当以root用户登录时,系统提示符统一缺省为”#”。用户可以更改自己的缺省Shell和提

    2022年6月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号