uni-app vue3的cli项目更新到3.96后 在H5报错 Cannot read properties of undefined (reading 'isReady')
uni-app vue3的cli项目更新到3.96后 在H5报错 Cannot read properties of undefined (reading ‘isReady’)
操作步骤:
- 使用命令
pnpm dev:h5
运行,再用Edge浏览器预览项目
预期结果:
- 没有报错,像3.95版本一样正常
实际结果:
- 报错
Cannot read properties of undefined (reading 'isReady')
bug描述:
- vue3的cli项目更新到3.96,运行起来命令行上没有报错,在浏览器上打开H5,控制台报错
Cannot read properties of undefined (reading 'isReady')
。 - 如果把项目版本回退到3.95再运行则没有问题,由此可知是因为升级版本导致的,望官方修复bug。
- 通过此提示:uni-app 有新版本发布,请执行
npx @dcloudio/uvm
更新。执行的依赖更新
附件:
未复现此问题,请提供下测试工程。
强刷清空缓存并硬刷新,就没有此问题了
感谢反馈,如果还有其他问题,请开新贴提问
在 uni-app
的 Vue 3 CLI 项目中,更新到 3.96
版本后,在 H5 环境下出现 Cannot read properties of undefined (reading 'isReady')
错误,通常是由于某些依赖或 API 的变更导致的。以下是一些可能的解决方案:
1. 检查 uni-app
版本兼容性
确保你使用的 uni-app
版本与 Vue 3 兼容。你可以尝试降级到之前的稳定版本,看看问题是否依然存在。
npm install @dcloudio/uni-app@3.95.0
2. 检查 vue
和 vue-router
版本
确保 vue
和 vue-router
的版本与 uni-app
兼容。你可以尝试更新或降级这些依赖。
npm install vue@3.2.0
npm install vue-router@4.0.0
3. 检查 uni-app
的 H5 配置
在 vue.config.js
或 manifest.json
中,检查是否有关于 H5 的配置项,确保配置正确。
// vue.config.js
module.exports = {
configureWebpack: {
// 其他配置
},
devServer: {
// 其他配置
}
}
4. 检查 uni-app
的 API 使用
确保你在代码中使用的 uni-app
API 是最新的,并且没有使用已弃用的 API。特别是检查 isReady
相关的代码,确保它在正确的上下文中使用。
5. 清除缓存并重新安装依赖
有时候,缓存可能会导致问题。你可以尝试清除 node_modules
和 package-lock.json
,然后重新安装依赖。
rm -rf node_modules package-lock.json
npm install
6. 检查第三方库
如果你使用了第三方库,确保这些库与 uni-app
和 Vue 3 兼容。你可以尝试更新或降级这些库。
7. 查看官方文档和社区
查看 uni-app
的官方文档和社区,看看是否有其他开发者遇到类似的问题,并找到解决方案。
8. 调试代码
在代码中添加调试信息,看看 isReady
是在哪个地方被调用的,以及为什么会出现 undefined
。
console.log('isReady context:', this);
9. 提交 Issue
如果以上方法都无法解决问题,你可以考虑在 uni-app
的 GitHub 仓库中提交一个 Issue,提供详细的错误信息和复现步骤,以便开发者帮助你解决问题。
10. 回滚版本
如果问题确实是由于 uni-app
3.96 版本的更新引起的,你可以暂时回滚到之前的版本,等待官方修复。
npm install @dcloudio/uni-app@3.95.0