zoukankan      html  css  js  c++  java
  • 关于小程序使用async/await报错regeneratorRuntime is not defined的解决方案

            小程序在请求后端接口时,使用了ES6语法,虽然我们可以通过微信开发者工具中的详情--本地设置--ES6转ES5,将ES6转ES5不开启,这样可以解决这个报错。但是并不是最理想的解决办法,为了兼容大多较低版本的设备,ES6转ES5还是很有必要的。

    从报错上来看是少了 regenerator-runtime 库,所以可以这样解决:

                从node_modules中找到regenerator-runtime文件夹,进入复制runtime.js文件(我是直接从以往做的Vue项目中直接复制runtime.js拿来用,没有的可以自行npm install regenerator然后找到文件)到小程序的自定义文件夹如utils,在使用async/await的页面中引入,如import regeneratorRuntime form '../../utils/runtime.js';

           此时重新编译会发现控制台报错:Function(...) is not a function,这是因为regenerator-runtime文件被修改了,加了一个 Function函数导致小程序运行报错,此时需要进行以下操作:

                1.将var regeneratorRuntime = (function (exports) {"use strict";... 中的regeneratorRuntime改为runtime;

           2.将文件最后一个try {regeneratorRuntime = runtime;} catch (accidentalStrictMode) {...语句删除,此时重新编译报错就消失了。

            至此问题得以解决。

  • 相关阅读:
    top 500 name
    dede 5.7 爆后台
    Mac中GDB安装
    php strcmp bypass漏洞
    文件时间伪造
    C#读取计算机插入USB历史记录
    MySQL远程连接时出现10061以及1045错误时的解决方法
    MDN 开发者分享平台
    thinkphp 3.2 完全开发手册地址
    PHP 解析JSON数组
  • 原文地址:https://www.cnblogs.com/zishang91/p/15589166.html
Copyright © 2011-2022 走看看