uni-app 【报Bug】vue3/vite app.config.warnHandler无效
uni-app 【报Bug】vue3/vite app.config.warnHandler无效
示例代码:
import {
createSSRApp
} from "vue";
import App from "./App.vue";
export function createApp() {
const app = createSSRApp(App);
app.config.errorHandler = (err, vm, info) => {
console.log('error---------', err)
}
app.config.warnHandler = function(msg, vm, trace){
console.log('warning-----------------')
}
return {
app
}
}
操作步骤:
app.config.warnHandler = function(msg, vm, trace){
console.log('warning-----------------')
}
预期结果:
warning-----------------
实际结果:
[Vue warn]: Invalid prop: type check failed for prop "isBack". Expected Boolean | String, got Array
bug描述:
vue3/vite
app.config.warnHandler不生效
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/H5 |
PC开发环境 | Windows |
操作系统版本 | uos21.2 64位 |
浏览器平台 | Chrome |
浏览器版本 | 版本 99.0.4844.84(正式版本) (64 位) |
项目创建方式 | CLI |
CLI版本号 | @vue/cli 4.5.17 |
更多关于uni-app 【报Bug】vue3/vite app.config.warnHandler无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app 【报Bug】vue3/vite app.config.warnHandler无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app
中使用 Vue 3
和 Vite
时,app.config.warnHandler
无效的问题可能是由于以下几个原因导致的。以下是一些可能的解决方案和排查步骤:
1. 确保 Vue 3 版本兼容
确保你使用的 Vue 3
版本与 uni-app
和 Vite
兼容。某些版本的 Vue 3
可能存在与 uni-app
或 Vite
的兼容性问题。
2. 检查 app.config.warnHandler
的设置
确保你在正确的地方设置了 app.config.warnHandler
。通常,你会在 main.js
或 main.ts
文件中进行设置。例如:
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
app.config.warnHandler = (msg, vm, trace) => {
console.warn(`Warn: ${msg}\nTrace: ${trace}`)
}
app.mount('#app')
3. 检查 Vite 配置
确保你的 Vite
配置没有覆盖或干扰 Vue
的警告处理。检查 vite.config.js
或 vite.config.ts
文件,确保没有相关的配置导致 warnHandler
失效。
4. 检查 uni-app 的版本
确保你使用的 uni-app
版本支持 Vue 3
和 Vite
。某些旧版本的 uni-app
可能不完全支持 Vue 3
的所有特性。
5. 检查控制台输出
检查浏览器的控制台输出,看看是否有其他错误或警告信息。这些信息可能会提供关于 warnHandler
无效的线索。
6. 使用 console.warn
进行调试
在 warnHandler
中添加 console.warn
语句,确保它被正确调用。例如:
app.config.warnHandler = (msg, vm, trace) => {
console.warn('Custom warn handler called:', msg, vm, trace)
}