uni-app 开启统计后打包微信小程序运行报错(Cannot read property 'fullPath' of undefined)
uni-app 开启统计后打包微信小程序运行报错(Cannot read property ‘fullPath’ of undefined)
项目信息 | 值 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | Windows 10 专业版 20H2 |
第三方开发者工具版本号 | RC 1.05.2112141 |
基础库版本号 | 2.23.4 |
项目创建方式 | CLI |
CLI版本号 | 3.0.0-alpha-3031320220314002 |
操作步骤:
- 使用 cli 创建 vue3 的 uni-app 项目
npx degit dcloudio/uni-preset-vue#vite my-vue3-project
- 进入并打开项目 my-vue3-project
cd my-vue3-project code .
- 修改 manifest.json 中的相关配置,开启 uni 统计,填写 uniapp 及微信小程序的 appid
"uniStatistics" : { "enable" : true }
- 安装依赖
npm i
- 依赖安装成功后打包
npm run build:mp-weixin
- 打包成功后使用微信开发者工具运行小程序,或者使用真机预览
- 点击右上角胶囊按钮隐藏小程序
预期结果:
- 小程序运行正常无报错,能正常上报事件
实际结果:
- 当触发小程序
onHide
隐藏,控制台报错TypeError: Cannot read property 'fullPath' of undefined
bug描述:
使用 cli 创建 vue3 的 uni-app 项目,开启 uni 统计后,build 打包为微信小程序,使用微信开发者工具运行或真机运行小程序,点击胶囊按钮隐藏小程序,或其它方式触发小程序 onHide
,即触发报错 TypeError: Cannot read property 'fullPath' of undefined
,如下图所示:
更多关于uni-app 开启统计后打包微信小程序运行报错(Cannot read property 'fullPath' of undefined)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
执行 npx @dcloudio/uvm 更新到最新版本试一下
更多关于uni-app 开启统计后打包微信小程序运行报错(Cannot read property 'fullPath' of undefined)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
问题一样
兄die,npx @dcloudio/uvm 命令报错了,查看一下呗,报错信息如下: (node:18336) UnhandledPromiseRejectionWarning: Error: Invalid version: 3.0.0-alpha-3040620220419003 at getVue3 (D:\domli\demo\uni-test\my-vue3-project\node_modules[@dcloudio](/user/dcloudio)\uvm\lib\package.js:16:11) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async get (D:\domli\demo\uni-test\my-vue3-project\node_modules[@dcloudio](/user/dcloudio)\uvm\lib\package.js:37:12) at async start (D:\domli\demo\uni-test\my-vue3-project\node_modules[@dcloudio](/user/dcloudio)\uvm\bin\index.js:17:16)
相同的问题
⸨⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⸩ ⠧ rollbackFailedOptional: verb npm-session ba3fdf0a4119dda2
npx: 64 安装成功,用时 16.766 秒
(node:2303) UnhandledPromiseRejectionWarning: Error: Invalid version: 3.0.0-alpha-3040720220422004
at getVue3 (/Users/zxb/.npm/_npx/2303/lib/node_modules/@dcloudio/uvm/lib/package.js:16:11)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async get (/Users/zxb/.npm/_npx/2303/lib/node_modules/@dcloudio/uvm/lib/package.js:37:12)
at async start (/Users/zxb/.npm/_npx/2303/lib/node_modules/@dcloudio/uvm/bin/index.js:17:16)
(Use node --trace-warnings … to show where the warning was created)
同样的问题,兄弟,报错了,给查一下吧,这两天一直在 vue3 支持上踩坑啊~
相同的问题,请问解决了吗
在 uni-app 中开启统计后打包微信小程序运行报错 Cannot read property 'fullPath' of undefined
,通常是因为在统计模块中某些路径处理逻辑出现了问题。以下是一些可能的解决方案和排查步骤:
1. 检查统计模块的配置
确保在 manifest.json
中配置的统计模块(如友盟统计、uni统计等)是正确的,并且相关的配置项没有缺失或错误。
{
"app-plus": {
"statistics": {
"enable": true,
"provider": "uni"
}
}
}
2. 检查页面路径处理逻辑
错误提示 Cannot read property 'fullPath' of undefined
表明在某个地方尝试访问 fullPath
属性时,对象是 undefined
。可能是在统计模块中处理页面路径时,没有正确获取到当前的页面对象。
你可以在 pages.json
中检查是否有自定义的页面路径处理逻辑,或者在某些页面生命周期钩子中(如 onLoad
、onShow
)是否有对页面路径的处理。
3. 更新 uni-app 和相关插件
确保你使用的是最新版本的 uni-app 和相关插件,旧版本可能存在一些已知的问题。
# 更新 uni-app
npm update @dcloudio/uni-app
# 更新 uni-stat
npm update @dcloudio/uni-stat
4. 检查微信小程序的环境
有时候微信小程序的环境可能会导致某些 API 行为不一致。你可以尝试在微信开发者工具中清除缓存,或者重新编译项目。
5. 调试统计模块
如果问题依然存在,可以尝试在统计模块的源码中增加调试信息,看看在哪个步骤出现了 undefined
的情况。你可以在 node_modules
中找到统计模块的源码,或者在 manifest.json
中禁用统计模块,看看问题是否依然存在。
6. 使用条件编译
如果问题只在微信小程序中出现,可以尝试使用条件编译来排除其他平台的影响。
// #ifdef MP-WEIXIN
// 微信小程序特定的代码
// #endif
7. 联系 uni-app 官方支持
如果以上方法都无法解决问题,建议联系 uni-app 官方支持或在 uni-app 社区中寻求帮助,提供详细的错误信息和复现步骤。
示例代码
以下是一个简单的示例,展示如何在 onLoad
生命周期中处理页面路径:
export default {
onLoad(options) {
// 获取当前页面路径
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
const fullPath = currentPage.route;
console.log('当前页面路径:', fullPath);
}
}