1***@qq.com
1***@qq.com
  • 发布:2023-06-05 13:06
  • 更新:2023-07-31 11:26
  • 阅读:1096

vue3/vite app.config.errorHandler 无效

分类:uni-app

代码如下图所示,浏览器运行后,不会执行console.log('error')

main.ts

export function createApp() {  
    const app = createSSRApp(App)  
    app.config.errorHandler = (err, instance, info) => {  
        console.log('error')  
    }  

    return {  
        app  
    }  
}

index.vue

const obj:object={}  
obj.fn()
2023-06-05 13:06 负责人:无 分享
已邀请:
1***@qq.com

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

发现问题出在哪里了,uniapp初始化vue应用是会重置errorHandle处理函数为undefined,所以你在main.ts中设置的errorHandler会被覆盖,导致不会生效。现在解决办法是让你设置errorHandle的代码执行在uniapp初始化之后,可以使用setTimeout函数。

main.ts

setTimeout(()=>{  
    app.config.errorHandler=(err,instance,info)=>{  
        console.log('error')  
    }  
})

这应该是一个bug

  • 2***@qq.com

    感谢老铁, 我也遇到了. 希望官方重视起来

    2023-06-07 21:03

6***@qq.com

6***@qq.com

和楼主一样的问题,一样的解决方法,但是这个延时好怪。后面换成在app.vue里用onerror,查完资料好像都是全局的,有没大佬说说这两区别,怀疑是不是onerror复用了errorHandler。。。

要回复问题请先登录注册