es6 转es5_es6转换es5

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

为什么要es6转es5?

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

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

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

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

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

  1. 局部安装babel-clibabel-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,比如我们要学的IteratorGeneratorSetMapProxyReflectSymbolPromise等全局对象,以及定义在全局对象上的方法(比如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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • K8s认证_ce安全认证是什么意思

    K8s认证_ce安全认证是什么意思k8s访问控制概述Role只能对命名空间的资源进行授权,需要指定namespaceClusterRole可以对集群范围内的资源、跨namespace的范围资源、非资源类型进行授权RoleBinding可以将同一namespace中的subject对象绑定到某个Role下,则此Subject具有该Role定义的权限ClusterRoleBinding在整个集群级别和所有namespaces将特定的subject与ClusterRole绑定,授予权限虽然authorization-clusterrole是一个集

    2022年8月9日
    8
  • qlineedit自动补全_qlineedit只能输入数字

    qlineedit自动补全_qlineedit只能输入数字转载:http://www.cnblogs.com/csuftzzk/p/qss_lineedit_completer.html?utm_source=tuicool&utm_medium=referral显示密码显示密码时,利用lineedit-password-character属性更改密文显示字符内容。QLineEdit[echoMode=”2″]{lineedit…

    2022年10月5日
    4
  • idea 2021.8 激活码_在线激活

    (idea 2021.8 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~BI…

    2022年3月22日
    70
  • 模电学习第一天–PN结梳理

    模电学习第一天–PN结梳理基本概念本征半导体:纯净的、具有晶体结构的半导体两种载流子:自由电子、空穴(两种载流子均参与导电)本征激发:半导体在热激发下产生自由电子和空穴对的现象复合:电子填补空穴动态平衡:一定温度下,本征激发与复合产生的自由电子和空穴相等温度影响:热运动加剧–挣脱共价键束缚自由电子增多–空穴增多–载流子浓度提高–导电能力增强N型半导体:自由电子浓度大于空穴浓度,前者为多子,后者为少子P型半导体:空穴浓度大于自由电子浓度对于杂质半导体的温度影响:可以认为多子浓度约等于所掺杂质原子的浓度,且受温度影响很

    2022年6月20日
    38
  • java xml 中文乱码_java写xml中文乱码解决方法

    java xml 中文乱码_java写xml中文乱码解决方法用java写xml文件,发现写完后xml文件的中文就变成了乱码。解决办法:把xml文件的头部编码改为utf-8,StreamResult编码方式也改为utf-8,StreamResult类充当转换结果的持有者,可以为XML、纯文本、HTML或某些其他格式的标记。publicStringcreateXMLbyId(){Coursec=courseService.getCou…

    2022年7月16日
    80
  • 使用 jackson 解析 json 演示样例「建议收藏」

    使用 jackson 解析 json 演示样例

    2022年2月7日
    58

发表回复

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

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