uni-app 运行支付宝小程序报错组件未找到

发布于 1周前 作者 eggper 来自 Uni-App

uni-app 运行支付宝小程序报错组件未找到

产品分类

uniapp/小程序

PC开发环境操作系统

Windows

PC开发环境操作系统版本号

22000.2538

HBuilderX类型

正式

HBuilderX版本号

3.96

第三方开发者工具版本号

3.1.3.0

基础库版本号

最新

项目创建方式

HBuilderX

示例代码:

// 字典标签组件  
import DictTag from '@/components/DictTag'  
// 字典数据组件  
import DictData from '@/components/DictData'  
// 字典标签组件  
import DictLabel from '@/components/DictLabel'  
// 图片预览组件  
import ImagePreview from "@/components/ImagePreview"  
// 图片上传组件  
import ImageUpload from "@/components/ImageUpload"  
// 标签回显  
import LabelShow from "@/components/LabelShow"  

Vue.use(directive)  
Vue.use(plugins)  
Vue.use(uView);  
// const vconsole = new VConsole();  
// window.vconsole = vconsole;  

Vue.config.productionTip = false  
// 全局方法挂载  
Vue.prototype.getDicts = getDicts  
Vue.prototype.$store = store  
Vue.prototype.addDateRange = addDateRange  
Vue.prototype.selectDictLabel = selectDictLabel  
Vue.prototype.copyText = copyText  
DictData.install()  

Vue.component('DictTag', DictTag)  
Vue.component('DictLabel', DictLabel)  
Vue.component('ImagePreview', ImagePreview)  
Vue.component('ImageUpload', ImageUpload)  
Vue.component("LabelShow", LabelShow);

操作步骤:

  • 运行到支付宝小程序

预期结果:

  • 运行到支付宝小程序正常显示

实际结果:

  • 运行到支付宝小程序报错,组件未找到

bug描述:

运行到浏览器正常,运行到支付宝小程序提示组件未找到,组件是main.js全局注册的,文件夹包括文件名也不包含@


9 回复

请提供下测试工程


您好,上午的问题将两个没有用到的页面从pages.json去除解决了,但是现在出现了上面链接中的问题

回复 1***@qq.com: 提供下测试工程吧

回复 YUANRJ: 已更新到机密信息

回复 YUANRJ: 刚才上传文件的时候将依赖包删除了,然后重新安装了一下再运行到小程序,报错了ypeError: Cannot read properties of undefined (reading ‘Vue’),但是页面tabbar切换出来了,页面显示的是系统错误,正在排查

目前的问题是运行到支付宝小程序后,报错TypeError: Cannot read properties of undefined (reading ‘Vue’), node版本16.15.1

回复 1***@qq.com: 清除下编译缓存试试。如还有问题,请提供最简可复现的工程,而不是整个项目,这样我们才更快的定位问题,谢谢。

在 uni-app 中运行支付宝小程序时,如果遇到“组件未找到”的报错,通常是由于以下几个原因导致的。你可以按照以下步骤进行排查和解决:


1. 检查组件路径是否正确

确保你在 pages.json 或页面中引用的组件路径是正确的。支付宝小程序对路径的要求比较严格,路径必须是相对路径,且不能省略扩展名。

错误示例:

{
  "usingComponents": {
    "my-component": "/components/my-component" // 缺少扩展名
  }
}

正确示例:

{
  "usingComponents": {
    "my-component": "/components/my-component.vue" // 添加扩展名
  }
}

2. 检查组件是否注册

确保在 pages.json 或页面中正确注册了组件。支付宝小程序需要显式注册组件。

示例:

{
  "usingComponents": {
    "my-component": "/components/my-component.vue"
  }
}

3. 检查组件文件是否存在

确保组件文件(.vue 文件)存在于指定路径中。如果文件路径错误或文件丢失,会导致组件未找到。


4. 检查支付宝小程序的组件规范

支付宝小程序的组件规范和微信小程序有所不同,确保你使用的组件符合支付宝小程序的规范。例如:

  • 支付宝小程序不支持某些微信小程序特有的组件或属性。
  • 支付宝小程序的组件名称和属性可能与微信小程序不同。

5. 检查 uni-app 版本

确保你使用的 uni-app 版本支持支付宝小程序。某些旧版本可能存在兼容性问题,建议升级到最新版本。

升级 uni-app:

npm install @dcloudio/uni-app@latest

6. 清理缓存并重新编译

有时缓存可能导致问题,尝试清理缓存并重新编译项目。

清理缓存:

npm run dev:mp-alipay -- --clean
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!