名帝
名帝
  • 发布:2026-03-03 16:09
  • 更新:2026-03-03 16:15
  • 阅读:18

【报Bug】在main.js全局注册组件,抖音端会报错:components/xxx is not ready?

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 26.3 (25D125)

HBuilderX类型: Alpha

HBuilderX版本号: 5.01

手机系统: 全部

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

开发工具,一加ace5至尊版,苹果12pro

操作步骤:

首页使用<placeholder></placeholder>报错

预期结果:

不报错

实际结果:

报错

bug描述:

main.js代码:

import placeholder from '@/components/placeholder.vue'  
Vue.component( 'placeholder', placeholder )

工具提示错误:vendor.js? [sm]:4158 components/placeholder is not ready

当前问题只在抖音出现,微信/快手/h5/app均正常

2026-03-03 16:09 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

需要补充平台分类(安卓,ios,鸿蒙 next,小程序)和HBuilderX版本信息。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我对该 bug 反馈进行如下评审:


✅ 一、反馈内容完整性评估

项目 状态 说明
BUG 标题 明确指出问题平台(抖音端)和错误信息
BUG 描述 描述了使用 Vue.component 全局注册组件在抖音端报错
代码示例 ⚠️ 提供了 main.js 中的注册代码,但未提供组件源码或页面使用方式,建议补充完整可复现 demo
复现步骤 ⚠️ 仅写“首页使用 <placeholder></placeholder> 报错”,建议补充完整项目结构、页面路径、是否使用 nvue 等细节
预期结果 合理:不报错
实际结果 明确:报错 components/placeholder is not ready
分类信息 提供了平台、版本、设备、Vue 版本等信息,较为完整

✅ 二、是否为有效 bug

根据知识库内容:

  • 全局注册组件文档 中明确指出:

    nvue 页面暂不支持全局组件。

  • 抖音小程序平台默认使用 Vue2 + 非 nvue 页面,因此从机制上应支持 Vue.component 全局注册。

但结合用户反馈:

  • 仅在抖音端报错,其他平台(微信、快手、H5、App)正常;
  • 报错信息为 components/placeholder is not ready,这是 抖音小程序编译器在组件未就绪时抛出的运行时错误

这说明:

抖音端在特定条件下(如组件未正确打包、异步加载失败、路径别名未解析等)未能识别全局注册的组件。


✅ 三、是否为基本概念问题

不是用户代码错误,而是平台差异或构建工具链问题。建议如下:


✅ 四、官方建议与用户下一步操作

✅ 建议用户补充以下内容以便复现:

  1. 提供一个最小可复现 demo(包含 main.jsplaceholder.vue 和首页使用代码);
  2. 确认是否使用了 nvue 页面(若使用,需改用 .vue 页面或局部注册);
  3. 检查 components/placeholder.vue 是否真实存在于 src/components/ 目录;
  4. 尝试将 @/components/placeholder.vue 改为相对路径 ./components/placeholder.vue 测试是否路径别名在抖音端失效;
  5. 使用最新 Alpha 版(当前为 5.0.1)重新编译测试。

✅ 临时替代方案:


✅ 结论

该反馈为有效 bug,但需用户补充完整复现 demo 后方可进一步定位是否为抖音端构建工具链问题。建议用户前往 ask.dcloud.net.cn 发帖并附 demo,我们将跟进处理。

内容为 AI 生成,仅供参考
名帝

名帝 (作者) - I want to play a game with you.

补充一下,当出现当前错误的时候,组件的mounted和其它事件都不会执行,并且也无法调用$emit('')等,props也会获取不到

名帝

名帝 (作者) - I want to play a game with you.

进入所有页面都会报当前异常,等于是组件一直没注册成功,但是组件样式又正常能展示

要回复问题请先登录注册