Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

支付宝小程序编译报错regeneratorRuntime Function is not funtion #12562

Closed
daivdggdev opened this issue Sep 23, 2022 · 11 comments
Closed
Labels
F-react Framework - React T-alipay Target - 编译到支付宝小程序 V-3 Version - 3.x

Comments

@daivdggdev
Copy link

相关平台

支付宝小程序

小程序基础库: 2.7.19
使用框架: React

复现步骤

taro集成dva后,在h5和微信小程序平台都是正常运行的,编译到支付宝小程序,报错信息如下:

Xnip2022-09-23_15-49-55

我根据这边文章指引regeneratorRuntime 相关报错排查指引
安装@babel/plugin-transform-runtime未解决问题,也参考了issues9450,没有解决问题

期望结果

编译运行正常

实际结果

运行报错

环境信息

$ taro info
👽 Taro v3.5.5


  Taro CLI 3.5.5 environment info:
    System:
      OS: macOS 12.1
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
      Yarn: 1.22.19 - ~/.yarn/bin/yarn
      npm: 8.1.3 - ~/.nvm/versions/node/v14.17.0/bin/npm
    npmPackages:
      @tarojs/cli: 3.5.5 => 3.5.5
      @tarojs/components: 3.5.5 => 3.5.5
      @tarojs/helper: 3.5.5 => 3.5.5
      @tarojs/mini-runner: 3.5.5 => 3.5.5
      @tarojs/plugin-framework-react: 3.5.5 => 3.5.5
      @tarojs/plugin-platform-alipay: 3.5.5 => 3.5.5
      @tarojs/plugin-platform-jd: 3.5.5 => 3.5.5
      @tarojs/plugin-platform-qq: 3.5.5 => 3.5.5
      @tarojs/plugin-platform-swan: 3.5.5 => 3.5.5
      @tarojs/plugin-platform-tt: 3.5.5 => 3.5.5
      @tarojs/plugin-platform-weapp: 3.5.5 => 3.5.5
      @tarojs/react: 3.5.5 => 3.5.5
      @tarojs/router: 3.5.5 => 3.5.5
      @tarojs/runtime: 3.5.5 => 3.5.5
      @tarojs/shared: 3.5.5 => 3.5.5
      @tarojs/taro: 3.5.5 => 3.5.5
      @tarojs/taro-h5: 3.5.5 => 3.5.5
      @tarojs/webpack-runner: 3.5.5 => 3.5.5
      babel-preset-taro: 3.5.5 => 3.5.5
      eslint-config-taro: 3.5.5 => 3.5.5
      react: ^18.0.0 => 18.2.0
      taro-ui: ^3.0.0-alpha.10 => 3.0.0-alpha.10
@taro-bot2 taro-bot2 bot added F-react Framework - React T-alipay Target - 编译到支付宝小程序 V-3 Version - 3.x labels Sep 23, 2022
@Chen-jj
Copy link
Contributor

Chen-jj commented Oct 16, 2022

@daivdggdev 检查一下你的依赖拓扑,使用到的 regenerator-runtime 的版本是多少,高于 0.11 版本的话它内部实现使用了 Function() 构造函数,这在小程序环境里是不被支持的。

@shanzheng1991
Copy link

regenerator-runtime
那怎么解决呢?降低regenerator-runtime的版本?

@yoyo837
Copy link
Contributor

yoyo837 commented Feb 9, 2023

你先试试看降级是否能解决呢?

@shanzheng1991
Copy link

regenerator-runtime 降到了0.10.5的版本还是不可以。

@liuguangyong93
Copy link

@daivdggdev 检查一下你的依赖拓扑,使用到的 regenerator-runtime 的版本是多少,高于 0.11 版本的话它内部实现使用了 Function() 构造函数,这在小程序环境里是不被支持的。

如果是@babel/runtime中的自主引入的化,该怎么办?降低babel版本?

image

@shanzheng1991
Copy link

可以研究一下 yarn 文档里面的 resolutions。有说到怎么降低依赖的依赖的版本号的。但我试了不行哦。

@liuguangyong93
Copy link

@daivdggdev 检查一下你的依赖拓扑,使用到的 regenerator-runtime 的版本是多少,高于 0.11 版本的话它内部实现使用了 Function() 构造函数,这在小程序环境里是不被支持的。

如果是@babel/runtime中的自主引入的化,该怎么办?降低babel版本?

image

解决了,锁死@babel/runtime和@babel/core版本就行,比如^7.8.0 => 7.8.0,目前最新babel版本是7.20.0,从7.19.0就有这个问题了。所以只需要降低babel即可解决~~

@liuguangyong93
Copy link

可以研究一下 yarn 文档里面的 resolutions。有说到怎么降低依赖的依赖的版本号的。但我试了不行哦。

上边的解决方案,应该可以解决

@shanzheng1991
Copy link

兄弟,锁死@babel/runtime和@babel/core版本就行,比如^7.8.0 => 7.8.0,就可以解决了吗?

@shanzheng1991
Copy link

可以研究一下 yarn 文档里面的 resolutions。有说到怎么降低依赖的依赖的版本号的。但我试了不行哦。

上边的解决方案,应该可以解决

兄弟,锁死@babel/runtime和@babel/core版本就行,比如^7.8.0 => 7.8.0,就可以解决了吗?你试过了吗?我试了一下,会有新的问题。

@liuguangyong93
Copy link

可以研究一下 yarn 文档里面的 resolutions。有说到怎么降低依赖的依赖的版本号的。但我试了不行哦。

上边的解决方案,应该可以解决

兄弟,锁死@babel/runtime和@babel/core版本就行,比如^7.8.0 => 7.8.0,就可以解决了吗?你试过了吗?我试了一下,会有新的问题。

有什么问题?目前运行起来没啥问题。如果是因为babel的问题,你可以把版本升高一点,比如7,18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
F-react Framework - React T-alipay Target - 编译到支付宝小程序 V-3 Version - 3.x
Projects
None yet
Development

No branches or pull requests

5 participants