# 组件错误修复说明 ## 问题描述 微信小程序报错: ``` Error: components/SmokeRecordDialog.js 已被代码依赖分析忽略,无法被其他模块引用 ``` ## 解决方案 ### 1. 调整组件目录结构 **之前:** ``` components/ └── SmokeRecordDialog.vue ❌ 不符合 uni-app 规范 ``` **之后:** ``` components/ └── smoke-record-dialog/ ├── smoke-record-dialog.vue ✅ 符合规范 └── README.md ``` ### 2. 更改组件实现方式 - 从 Vue 3 Composition API (` ``` **之后(自动导入):** ```vue ``` ## 修改文件清单 ### 新增文件 - ✅ `components/smoke-record-dialog/smoke-record-dialog.vue` - 新组件文件 - ✅ `components/smoke-record-dialog/README.md` - 组件文档 ### 修改文件 - ✅ `pages.json` - 添加 easycom 配置 - ✅ `pages/index/index.vue` - 更新组件引用方式 - ✅ `components/README.md` - 更新使用文档 ### 删除文件 - ✅ `components/SmokeRecordDialog.vue` - 旧组件文件(已迁移) ## 关键变更点 ### 1. 命名规范 - ❌ `SmokeRecordDialog` (PascalCase) - ✅ `smoke-record-dialog` (kebab-case) ### 2. 目录结构 - ❌ 单文件组件直接放在 components 下 - ✅ 组件放在同名文件夹内 ### 3. API 风格 - ❌ Composition API (` ``` ## 相关文档 - [uni-app 组件规范](https://uniapp.dcloud.net.cn/component/) - [easycom 配置说明](https://uniapp.dcloud.net.cn/collocation/pages.html#easycom) - [微信小程序组件开发](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/) ## 注意事项 ⚠️ **重要提示:** 1. 组件使用 Options API,与 Vue 2 兼容 2. 支持 `v-model:show` 双向绑定(uni-app 已支持) 3. 已配置 easycom,全局自动导入 4. 组件名必须使用小写加连字符(kebab-case) 5. 修改后需要重新编译微信小程序 ## 问题排查 如果仍然出现问题,请尝试: 1. 清除微信开发者工具缓存 2. 重新编译项目 3. 检查 `pages.json` 中的 easycom 配置 4. 确认组件文件路径正确 5. 查看控制台详细错误信息