6***@qq.com
6***@qq.com
  • 发布:2022-01-06 09:02
  • 更新:2022-06-01 21:59
  • 阅读:1092

uniapp打包的微信小程序预览码 调试码 体验码用不了 没有正确注入regeneratorRuntime

分类:HBuilderX

这是ios和安卓的报错,微信小程序那边给出的建议是第三方框架的编译未能正确注入 regeneratorRuntime,请求大家支援!

2022-01-06 09:02 负责人:无 分享
已邀请:
T奔跑的code

T奔跑的code

我们也遇到了,急求解决方案

  • 6***@qq.com (作者)

    是一样的报错吗

    2022-01-06 11:58

i***@qq.com

i***@qq.com

救命呀,现在微信小程序打不开。

6***@qq.com

6***@qq.com (作者) - .......

还没解决 求救啊

m***@gmail.com

m***@gmail.com

把增强编译和es6转es5全部关闭试试看

  • 6***@qq.com (作者)

    不可行 都试过了

    2022-01-20 13:33

DCloud_UNI_GSQ

DCloud_UNI_GSQ

CLI创建的还是HBuilderX创建的?
uni-app版本号多少?

  • z***@163.com

    有解决方式吗?我们现在也遇到了

    2022-01-19 22:05

  • 6***@qq.com (作者)

    hbuilderX创建的 版本时很早之前的 直到前几天都没问题,后来就一直这个错误,微信官方说时uniapp编译问题

    2022-01-20 13:34

  • DCloud_UNI_GSQ

    回复 6***@qq.com: 更新一下依赖,执行 npx @dcloudio/uvm

    2022-01-20 19:25

  • 6***@qq.com (作者)

    回复 DCloud_UNI_GSQ: 试过了 不可行 依旧报错

    2022-01-21 18:00

  • DCloud_UNI_GSQ

    回复 6***@qq.com: 补充一下小程序工具版本,然后补充一下cli项目依赖信息(npm run info)

    2022-01-21 18:38

6***@qq.com

6***@qq.com

救命,我也遇到了,之前开发还好好的,现在又不行了,微信开发者工具配置都没改过

z***@163.com

z***@163.com

看下微信的回复
第三方框架的编译未能正确注入 regeneratorRuntime

Function("r", "regeneratorRuntime = r") is not a function
该问题通常是正确引入了 regeneratorRuntime,但是误将 regeneratorRuntime 编译至了严格模式(即含有 'use strict' )。

regeneratorRuntime 由于会尝试通过不使用 var 关键字直接赋值的方式,来声明全局 regeneratorRuntime 变量。这种方式在严格模式下会报错,因而尝试使用 new Function 的形式从严格模式跳入非严格模式,再次进行全局变量声明。然而小程序环境下不允许使用 new Function,因而初始化失败。

该问题通常是由于重复打包/编译导致的,即第一次编译时将 regeneratorRuntime 识别为非严格模式,而第二次编译时由于失去原始信息,识别为严格模式。

需要排查打包路径是否重复经过了 babel 或 webpack 等编译或打包。若使用第三方框架已经进行了 babel 编译;或者自行使用了babel编译,则需要关闭开发者工具的【将 JS 编译成 ES5】编译选项和 miniprogram-ci 的 es7: true (增强编译)选项。

我的小程序并没有使用 async/await 语法,但也报错

如果你的小程序引入了插件,而有插件没有正确配置编译模式,同样会出现上述问题。建议排查是否是插件导致。如果确认是插件导致,则需要插件提供方参考本指引解决问题。

另外的,npm 模块、第三方框架等同样可能引入 regeneratorRuntime 依赖。
https://developers.weixin.qq.com/community/develop/doc/0002ce07a58000a57c5da5e6456c09

  • z***@163.com

    我项目中,没有使用npm包管理。小程序ide版本也换了几个。微信小程序预览码 调试码 体验码都是用不了

    2022-01-21 23:32

  • DCloud_UNI_GSQ

    回复 z***@163.com: 应该是regeneratorRuntime版本兼容问题,将复现方式详细描述一下,我来处理。

    2022-01-22 11:22

  • z***@163.com

    回复 DCloud_UNI_GSQ: HBuilderX中选择项目,选择运行到小程序模拟器——>微信开发者工具——>点击预览——>使用8.0.16版本以上的微信预览,基础库2.21.3以上 就可以复现。我的微信:z826764385

    2022-01-24 20:57

  • DCloud_UNI_GSQ

    回复 z***@163.com: 项目是HBuilderX创建的还是CLI创建的,如果是CLI创建的补充一下依赖信息:npm run info

    2022-01-26 16:05

  • 6***@qq.com (作者)

    回复 DCloud_UNI_GSQ: 怎么知道是用什么创建的 我是后来的 现在还不行

    2022-03-26 11:47

  • DCloud_UNI_GSQ

    回复 6***@qq.com: 执行 npm run info 就知道了

    2022-03-28 17:05

f***@gmail.com

f***@gmail.com

请问这里有终极解决方案么,目前正着急提测,用微信开发工具 2.17.0或者2.16.x的正常,换到其他版本就会出现这个错误

要回复问题请先登录注册