1***@qq.com
1***@qq.com
  • 发布:2024-09-04 15:16
  • 更新:2024-09-14 16:43
  • 阅读:213

【报Bug】QQ小程序发布模式下,引用组件真机报错Lifetime Method Error #attached

分类:uni-app

产品分类: uniapp/小程序/QQ

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macos 14.5

第三方开发者工具版本号: 0.71.2402220.7_darwin_x64 (4606.81)

基础库版本号: 1.71.6

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-4020620240822002

操作步骤:

使用hbuilder创建项目
引用uni-ui插件
在页面中引用任意组件
qq小程序发布
在qq开发者工具中点击预览
真机扫描即可复线

预期结果:

预期不报错可正常运行

实际结果:

报错信息如下:
Lifetime Method Error

attached

ReferenceError: T is not defined

bug描述:

无论用HBuilder还是CLI创建的项目,引用组件后发行模式下真机预览就会报错。模拟器上正常。

现在无法在QQ小程序中使用发行模式

当前例子使用的是分页组件,使用uni-ui也会报错。
报错信息如下:
Lifetime Method Error

attached

ReferenceError: T is not defined

2024-09-04 15:16 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

@DCloud_UNI_yuhe @DCloud_UNI_Anne @DCloud_UNI_BFC @DCloud_UNI_CHB
大哥们 谁抽空帮忙看看呗 求求了

BFC

BFC

我这边测试uni-ui组件没什么问题,你提供一下demo工程

1***@qq.com

1***@qq.com (作者)

感谢BFC哥哥回复,附件为test-qq.zip。demo使用hbuilder创建的uniapp项目,在插件市场导入的uni-ui,使用uni-calendar 组件。点击发行-qq后,使用qq开发者工具打开。使用临时appid。点击预览,真机扫码即可复现。

注意需要点击预览,使用真机扫码复现。模拟器上无问题。

盼回。@DCloud_UNI_BFC

1***@qq.com

1***@qq.com (作者)

@DCloud_UNI_yuhe @DCloud_UNI_Anne @DCloud_UNI_BFC @DCloud_UNI_CHB 求助

BFC

BFC

我这边使用你的demo工程,可以正常运行,没有报错,
qq小程序基础库 1.71.6
HBuilderX: 4.24

BFC

BFC

我这边测试的安卓真机可以正常运行, 你是ios 还是安卓呢

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

    android和ios均报错,你打得是发行版吗?

    2024-09-14 10:47

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

    我同事的电脑编译出来的也报错,mac电脑

    2024-09-14 10:48

  • BFC

    回复 1***@qq.com: 我是开发版,我测试一下发行版

    2024-09-14 10:52

BFC

BFC

这是qq小程序编译器开启es6转es5时,用babel转义for in 循环时出现bug,可以在qq小程序社区反馈此问题。

在uniapp这边提前进行es6转es5 转码来处理此问题。项目目录下新增vite.config.js和babel.config.js

import {  
    defineConfig  
} from "vite";  
import uni from "@dcloudio/vite-plugin-uni";  
import babel from '@rollup/plugin-babel';  

export default defineConfig({  
    plugins: [  
        uni(),  
        babel({  
            babelHelpers: 'bundled',  
            presets: ['@babel/preset-env'],  
            extensions: ['.js', '.jsx', '.ts', '.tsx'],  
        }),  
    ],  
});

babel.config.js

module.exports = function() {  
    return {  
        "presets": [  
            [  
                "@babel/preset-env",  
                {  
                    "targets": {  
                        "ie": "11"  
                    }  
                }  
            ]  
        ]  
    }  
}

要回复问题请先登录注册