vue3版本选中插件在uni-app中报错
vue3版本选中插件在uni-app中报错
示例代码:
"mp-jd": {
"appid": "×××××××××××××××××××××",
"plugins": {
"jxzPlugin": {
"version": "1.0.0",
"provider": "×××××××"
}
}
}
操作步骤:
- manifest.json引入plugins vue2正常显示 vue3就会报错
预期结果:
- 不报错 正常显示
实际结果:
- 报错 导致我input组件用不了
bug描述:
- 选择vue2版本引入小程序原生插件编译就不会报错 vue3的话报错
| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/小程序/京东 |
| PC开发环境 | Windows |
| OS版本 | win11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.75 |
| 第三方工具版本 | 2.52 |
| 基础库版本 | 2.52 |
| 项目创建方式 | HBuilderX |

更多关于vue3版本选中插件在uni-app中报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
有官方人员回复一下吗
可以提供一下一个测试项目吗?
需要运行到京东开发者工具
回复 DCloud_UNI_yuhe: 我看了一下 是一致的
回复 DCloud_UNI_yuhe: 我上传的两个zip是通过最新版本hbuilderX左上角新建项目生成的 不同的区别就是选择的vue版本号不一样
回复 DCloud_UNI_yuhe: 咋样了 卡项目进度了老哥
测试1是vue2版本的 测试2是vue3版本的 代码基本一致
vue3 编译产物和 vue2 的不一样,有一些属性事件是后附加的,而京东内部读取属性是从原型链上读的导致读不到,所以重写了 Object.getPropertyOf
京东那边使用的trao+vue3 使用这个插件是没问题的 而且这个插件是必须要接入的 除了更换vue版本有其他解决办法吗
有解决办法吗
回复 t***@163.com: 在的,下面有回答,试试看
回复 t***@163.com: 试过了吗?
回复 DCloud_UNI_LXH: 没看到 不好意思 我现在试下
替换至该目录,然后重新运行到京东小程序
HBuilderX 根目录/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-jd/dist/uni.mp.esm.js
可以了 感谢 目前临时方案就这样改是吗
回复 t***@163.com: 是的,在下一个 alpha 会带上
回复 DCloud_UNI_LXH: 更换了之后发现了一个新的bug v-for循环里面使用组件的时候 组件里面写点击事件传的数据是列表的最后一条数据 我上传个demo 里面可以直接复现
有复现吗
只要页面使用两个以上同一个组件就会出错
回复 t***@163.com: 确实,在修
截图有说明

替换至该目录,然后重新运行到京东小程序
HBuilderX 根目录/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-jd/dist/uni.mp.esm.js
HBuilderX 根目录/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-jd/dist/vue.runtime.esm.js
HBuilderX 根目录/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-jd/dist/vue.runtime.esm.js 没有这个
在线找bug text标签再包裹一个text标签的话 里面的那个text标签的点击事件不会生效
麻烦看下
回复 t***@163.com: 不好意思,是这个路径:HBuilderX 根目录/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist 下
回复 t***@163.com: text 的问题怎么写的?事件是绑定在内部还是外层上的?
回复 t***@163.com: 这应该是京东小程序的限制了。测试 view 嵌套是可以触发事件的
回复 DCloud_UNI_LXH: 更换了js之后页面的input使用不了 截图上传附件了
回复 DCloud_UNI_LXH: 很奇怪 我方法名称定义onInput的话就能正常打印 改成onInput1的话就有截图的那个警告 导致赋值不了 麻烦看下
回复 DCloud_UNI_LXH: 更换js之前 嵌套text点击是没问题的 这个问题我目前换成span标签就好了
回复 t***@163.com: 我这里改的有问题。稍等哈。但是 text 嵌套不触发点击我使用原生的项目试过了,也是一样的
回复 DCloud_UNI_LXH: 嗯嗯 这个小问题 主要是input那个 流程都进行不下去了
回复 t***@163.com: 嗯嗯
onInput事件触发不了
我没有测试京东小程序插件的环境,还是这两个文件,你替换试试看
换完重新编译 控制台报错: Page is not constructed because it is not found. 然后白屏
具体报错信息上传附件了
具体报错截图

是使用插件的时候jd的重写配置
回复 DCloud_UNI_LXH: 这个又回到了2025-08-06的那个问题上面去了 也是因这个问题为你那边修改过之后导致后续也有点问题 上面都有记录可以参考一下
无法从运行时兼容了,改了下模板编译
将 vue3 的插件卸载重装
将附件内容替换至 HBuilderX 根目录/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-jd/dist
重新运行试试看
运行的时候报错了
报错
你 hx 是什么版本的?alpha 吗?
回复 DCloud_UNI_LXH: 不是 最新版本的
回复 t***@163.com: 我更新了上面回答中的附件,重新下载替换试试看
回复 DCloud_UNI_LXH: 好
回复 DCloud_UNI_LXH: 更新了v4.76版本之后运行报之前错误了 我看更新文档是有说修复这个bug的
回复 t***@163.com: 4.76 没有修复,下一个 alpha 修复,还没发
回复 DCloud_UNI_LXH: 收到
demo

看看生成的配置,app.json 是否完整的生成了。这看着像是缺少了东西
编译的看着没问题
那可以试一下原生京东小程序是否会报错
回复 DCloud_UNI_LXH: 我试了 还真是原生的问题 我去那边反馈一下
4.81 alpha 已修复
在 uni-app 的 Vue3 版本中使用小程序原生插件时,由于 Vue3 的响应式系统与 Vue2 存在差异,可能导致插件初始化异常。错误通常出现在插件实例化过程中,因为 Vue3 的 Proxy 代理可能干扰了原生插件的内部逻辑。
解决方案:
- 检查插件兼容性:确认该插件是否官方支持 Vue3。部分老旧插件可能仅适配 Vue2。
- 调整插件调用时机:在
onReady或onLoad生命周期中延迟初始化插件,避免响应式代理干扰:onReady(() => { // 通过 getApp().$scope 访问原生上下文 const plugin = requirePlugin('jxzPlugin'); }); - 降级为 Vue2:若插件明确不兼容 Vue3,可在
manifest.json中临时切换为 Vue2 模式:"vueVersion": "2"




