taro icon indicating copy to clipboard operation
taro copied to clipboard

[Bug]: vue3编译微信小程序插件,开发预览没问题,发布后预览报错

Open Sukimq opened this issue 8 months ago • 3 comments

相关平台

微信小程序

小程序基础库版本

3.8.2

使用框架

Vue 3

问题描述

RangeError: Maximum call stack size exceeded at n (VM3023 WASubContext.js:formatted:13068) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083)(env: Windows,mp,1.06.2503290; lib: 3.8.2)

, function(e, t) { var r = Object.prototype.hasOwnProperty , n = function(e, t) { var o = typeof e; if ("object" === o && null !== e) { var a = t ? t.get(e) : void 0; if (void 0 !== a) return a; if (e instanceof Array) { a = [], t && t.set(e, a); for (var i = 0; i < e.length; i++) a[i] = n(e[i], t) } else for (var s in a = {}, t && t.set(e, a), e) r.call(e, s) && (a[s] = n(e[s], t)); return a } if ("symbol" !== o) return e }; t.deepCopy = function(e, t) { var r = t && "undefined" != typeof WeakMap ? new WeakMap : null; return n(e, r) } }感觉一直在这死循环

复现链接

https://github.com/Sukimq/build-vue-weapp-plugin

复现步骤

1.pnpm build 2.小程序开发工具打开,报错 RangeError: Maximum call stack size exceeded at n (VM3023 WASubContext.js:formatted:13068) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083) at n (VM3023 WASubContext.js:formatted:13083)(env: Windows,mp,1.06.2503290; lib: 3.8.2)

环境信息

Taro v4.0.9


  Taro CLI 4.0.9 environment info:
    System:
      OS: Windows 11 10.0.22000
    Binaries:
      Node: 18.18.2 - D:\workspace\nodejs\node.EXE
      Yarn: 1.22.22 - D:\workspace\nvm\npm\global\yarn.CMD
      npm: 9.8.1 - D:\workspace\nodejs\npm.CMD
    npmPackages:
      @tarojs/cli: 3.6.3 => 3.6.3
      @tarojs/components: 3.6.3 => 3.6.3
      @tarojs/plugin-framework-react: 3.6.3 => 3.6.3
      @tarojs/plugin-platform-weapp: 3.6.3 => 3.6.3
      @tarojs/react: 3.6.3 => 3.6.3
      @tarojs/runtime: 3.6.3 => 3.6.3
      @tarojs/taro: 3.6.3 => 3.6.3
      babel-preset-taro: 3.6.3 => 3.6.3
      eslint-config-taro: 3.6.3 => 3.6.3
      react: ^17.0.0 => 17.0.2

Sukimq avatar May 08 '25 14:05 Sukimq

taro-runtime performUpdate ctx.setData root在vue3有一个_scope导致deepCopy Maximum call stack size exceeded

Sukimq avatar May 08 '25 15:05 Sukimq

你用 Vue3,咋不用 uni-app 呢?后者更纯粹,性能更好。

arniu avatar May 09 '25 08:05 arniu

你用 Vue3,咋不用 uni-app 呢?后者更纯粹,性能更好。

uni-app不能做实现动态基于schema的动态表单

Sukimq avatar May 09 '25 08:05 Sukimq