广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >小程序为什么要将es6转es5
  • 972
分享到

小程序为什么要将es6转es5

javascriptES6 2022-11-22 23:11:20 972人浏览 八月长安
摘要

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。小程序将es6转es5的原因原因:为了浏览器兼容,以及为了在node.js环境可以顺畅运行应用程序。ES6作为js的新规范,加入了很多新的语法和api,但

教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

小程序es6转es5的原因

原因:为了浏览器兼容,以及为了在node.js环境可以顺畅运行应用程序

ES6作为js的新规范,加入了很多新的语法和api,但现代浏览器对ES6新特性支持度不高,所以要想在浏览器中直接使用ES6的新特性就得借助别的工具来实现。将ES6代码转为ES5代码,只需在项目中安装和配置好Babel工具即可。

node.js 环境中,node 对 ES6 的支持一直被诟病,到了 13 版本之后,才出了模块模式(在 package.JSON 中增加一句:“type”: “module”),但有些库仍然不支持 ES6 语法。因此,如果你的 node.js 程序遇到不认识 ES6 语法的时候,请使用 Babel 转码一下也许就能解决问题。

小程序中将es6转es5

在 0.10.101000 以及之后版本的开发工具中,会默认使用 babel 将开发者 ES6 语法代码转换为三端都能很好支持的 ES5 的代码,帮助开发者解决环境不同所带来的开发问题。

项目中,勾选ES6转ES5选项即可

1.png

需要注意的是:

为了提高代码质量,在开启 ES6 转换功能的情况下,默认启用 javasctipt 严格模式,请参考 “use strict”

什么是Babel?

Babel是一个 ES6 转码器,能将 ES6 代码转为 ES5 代码,这样原本不支持ES6的老版本浏览器执行ES6代码,举例:ES6箭头函数
代码示例:

// 转码前:使用了ES6箭头函数
items.map(item => item + 1);

// 转码后:转为了普通函数
items.map(function (item) {
  return item + 1;
});

怎么将es6转为es5?

用babel将es6转换成es5。

下面我们写出在命令行使用 Babel 的过程,让你清楚转译过程的全部内容。

1. 在项目中安装 Babel 的命令行工具

$ npm install -D babel-cli

2. 准备 ES6 代码

通常我们把源代码放在 src 目录下,如果你没有现成的 ES6 代码,那就在 src 目录下创建一个:

// src/example.js

class Hello {

  static world() {

    console.log('Hello, World!');

  }

}

Hello.world();

3. 配置 Babel

Babel 是通过插件和预设值(preset)来转译代码(因此它可以转译的不只是 ES6)。为了转译 ES6 为 ES5,我们只需要配置 env 预设值就可以了,安装这个插件:

$ npm install -D babel-preset-env

我们还需要一个配置文件,在项目根目录下创建文件:.babelrc.,内容如下:
该文件用来设置转码规则和插件,基本格式如下。

// .babelrc

{

  "presets": [],

  "plugins": []

}

在这里插入图片描述

注意.babelrc.是前后都有一个点,这样就可以保存成功了

presets字段

presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。

最新转码规则

$ npm install --save-dev @babel/preset-env

React 转码规则

$ npm install --save-dev @babel/preset-react

然后,将这些规则加入.babelrc。
代码示例:

  {

    "presets": [

      "@babel/env",

      "@babel/preset-react"

    ],

    "plugins": []

  }

注意,以下所有 Babel 工具和模块的使用,都必须先写好.babelrc。

命令行转码以及转码规则

Babel 提供命令行工具@babel/cli,用于命令行转码。

它的安装命令如下。

$ npm install --save-dev @babel/cli

基本用法如下。

# 转码结果输出到标准输出
$ babel test.js
 
# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
$ babel a.js --out-file b.js
# 或者
$ babel a.js -o b.js
 
# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
$ babel src --out-dir lib
# 或者
$ babel src -d lib
 
# -s 参数生成source map文件
$ babel src -d lib -s

使用babel-node命令得到REPL环境转码

@babel/node模块的babel-node命令,提供一个支持 ES6 的 REPL 环境。它支持 Node 的 REPL 环境的所有功能,而且可以直接运行 ES6 代码。

首先,安装这个模块。

$ npm install --save-dev @babel/node

然后,执行babel-node就进入 REPL 环境。

@babel/reGISter 模块

$ npx balel-node

@babel/register模块改写require命令,为它加上一个钩子。此后,每当使用require加载.js、.jsx、.es和.es6后缀名的文件,就会先用 Babel 进行转码。

$ npm install --save-dev @babel/register

使用时,必须首先加载@babel/register。

// index.js

require('@babel/register');

require('./es6.js');

然后,就不需要手动对index.js转码了。

$ node index.js

需要注意的是,@babel/register只会对require命令加载的文件转码,而不会对当前文件转码。另外,由于它是实时转码,所以只适合在开发环境使用。

浏览器环境

Babel 也可以用于浏览器环境,使用@babel/standalone模块提供的浏览器版本,将其插入网页。

<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

<script type="text/babel">

// Your ES6 code

</script>

注意,网页实时将 ES6 代码转为 ES5,对性能会有影响。生产环境需要加载已经转码完成的脚本。

【推荐学习javascript视频教程】

以上就是小程序为什么要将es6转es5的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 小程序为什么要将es6转es5

本文链接: https://www.lsjlt.com/news/173539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 小程序为什么要将es6转es5
    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。小程序将es6转es5的原因原因:为了浏览器兼容,以及为了在node.js环境可以顺畅运行应用程序。ES6作为JS的新规范,加入了很多新的语法和API,但...
    99+
    2022-11-22
    javascript ES6
  • 小程序要将es6转es5的原因是什么
    这篇文章主要讲解了“小程序要将es6转es5的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“小程序要将es6转es5的原因是什么”吧!为了浏览器兼容。ES6作为JS的新规范,加入了...
    99+
    2023-07-04
  • 怎么将es6转为es5
    这篇文章主要介绍了怎么将es6转为es5的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么将es6转为es5文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2022-10-19
  • 微信小程序ES6怎么转ES5
    这篇文章主要介绍了微信小程序ES6怎么转ES5的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序ES6怎么转ES5文章都会有所收获,下面我们一起来看看吧。项目页卡主要有三大功能显示当前项目细节包括图标、A...
    99+
    2023-06-26
  • 小程序为什么要用https
    小程序需要使用https的原因https是在http的基础上加入SSL证书后形成的安全协议,https可以对信息进行加密保障数据传输的安全,还能认证服务器的真实性,防止“钓鱼”网站。微信小程序都需要先设置一个通讯合法域名,并通过https请...
    99+
    2022-10-12
  • 微信小程序为什么需要ssl
    微信小程序需要ssl的原因:小程序必须用ssl证书,因为用户在进行交易时才可以保证信息安全。移动数据发展任何应用都需要进行加密传输。可以对服务器端校验,防止数据被窃听、篡改、冒充。...
    99+
    2022-10-06
  • uni-app如何将小程序转化为app应用
    现今移动互联网的发展,越来越多的个人和企业开始使用小程序来扩大自己的业务。但是,有很多人可能会遇到一个问题,在小程序使用中感到不够方便,希望将小程序转化为APP应用来提升用户体验。本文将为大家介绍如何将小程序转化为APP应用。一、了解uni...
    99+
    2023-05-14
  • 小程序如何将字符串转换为数字
    这篇“小程序如何将字符串转换为数字”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“小程序如何将字符串转换为数字”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-26
  • 小程序为什么要使用HTTPS链接
    这篇文章主要介绍“小程序为什么要使用HTTPS链接”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序为什么要使用HTTPS链接”文章能帮助大家解决问题。一、HTTPSHTTPS是HTTP的安全版,...
    99+
    2023-06-26
  • 小程序为什么需要https的域名
    小程序需要使用https域名的原因有以下几点使用HTTP需要传输数据不安全HTTP是明文传输协议,无法对数据进行加密,会出现数据泄露、数据篡改、流量劫持、钓鱼攻击等安全问题。网页篡改及劫持无处不在随着小程序的广泛使用,通过篡改和劫持小程序页...
    99+
    2022-10-14
  • 为什么小程序当前页面不可转发
    小程序当前页面不可转发的原因:可能是你删除了默认的onShareAppMessage实现方法,这个方法在代码生成的时候就存在了,只要加上即可,例: “onShareAppMessage: function () { }”。...
    99+
    2022-10-08
  • 小程序为什么有些页面不能转发
    小程序页面不能转发的原因可能是删除了页面中默认的onShareAppMessage实现,在小程序页面代码中加上 onShareAppMessage: function () {} 即可。...
    99+
    2022-10-14
  • 微信小程序为什么不会跳转页面
    微信小程序不跳转页面的原因有以下几种:没有在app.json文件中的pages选项中注册跳转页面;跳转路径错误,导致跳转失败;跳转路径重复在app.json文件中的TabBar选项中注册,需使用wx.switchTab方法来跳转;...
    99+
    2022-10-17
  • 传统电商为什么转型小程序电商
    这篇文章主要介绍“传统电商为什么转型小程序电商”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“传统电商为什么转型小程序电商”文章能帮助大家解决问题。 即用即走 电商小程序的用户体验核心就是“即用即走”...
    99+
    2023-06-27
  • 微信小程序页面跳转为什么没反应
    微信小程序页面跳转没反应的原因:没有在app.json中配置页面。跳转地址写错了,修改正确即可。页面层超过五层,会跳转失败。(解决方法:用销毁的跳转方式即:wx.redirectTo(OBJECT) )...
    99+
    2022-10-13
  • 平安并州小程序为什么要强制注册
    平安并州小程序要强制注册的原因是为了提供更安全、个性化的服务,增强用户黏性和粘合度,同时为平台的管理和发展提供基础支持。在强制注册的过程中,平安并州小程序也需要保证用户隐私的安全,并明确告知用户注册的目的和意义,以获得用户的理解和支持,只有...
    99+
    2023-07-28
  • 怎么用Spring Native将SpringBoot程序转换为GraalVM
    这篇文章主要介绍了怎么用Spring Native将SpringBoot程序转换为GraalVM,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Spring发布了一个新工具Sp...
    99+
    2023-06-14
  • 小程序Vant组件如何将默认样式单位px转为rpx
    本篇内容介绍了“小程序Vant组件如何将默认样式单位px转为rpx”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现步骤初始化并安装npm&...
    99+
    2023-06-25
  • 小程序为什么受欢迎
    这篇文章将为大家详细讲解有关小程序为什么受欢迎,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  一、打开率更高  微信近十亿日活跃量。  二、相对更低的投入  对于大众创业者而言,在公司启动初期,没有足够...
    99+
    2023-06-26
  • 图片转文字小程序开发需要有什么功能
    这篇文章主要介绍了图片转文字小程序开发需要有什么功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1、用户登录注册:为了保护每个用户帐户的安全,用户在使用图片转文字小程序...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作