调整目录结构
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
---
|
||||
---
|
||||
🚧 注意:
|
||||
|
||||
⚠ 注意:当前使用 mock 数据,后续真实接口完成后替换
|
||||
@@ -1947,6 +1947,23 @@ const iconMap: Record<string, string> = {
|
||||
- **CRMEB 路由映射**: 1:1 复刻 CRMEB 的路由和菜单结构
|
||||
- **双侧边栏布局**: 主侧边栏(一级) + 二级侧边栏(分组)
|
||||
|
||||
|
||||
## 🎯 阶段十八: Vue/Vite 编译失败导致的连锁依赖雪崩 (500 错误与动态导入阻断)
|
||||
|
||||
### **原因三十二:SCSS 括号闭合错误引发的 ?import 连锁报错**
|
||||
|
||||
- **现象**:
|
||||
1. 浏览器控制台出现核心组件的 SCSS 编译失败:GET /pages/mall/admin/product/product-management/index.uvue?...&lang.scss 500
|
||||
2. 随后出现警告:[Vue warn]: Unhandled error during execution of async component loader
|
||||
3. 最终报错阻断页面级加载:TypeError: Failed to fetch dynamically imported module: /pages/mall/admin/homePage/index.uvue?import
|
||||
- **原因**:
|
||||
在修改或合并页面(如整合目录结构)时,不慎破坏了 <style lang="scss"> 其中的结构(例如留下了一个多余的闭合大括号 } 或丢失了 </style>)。由于 Vite 处理 uni-app-x 时是按块编译的,CSS 预处理报错会导致服务端直接向该组件抛出 **500 错误**。
|
||||
在 "内部路由/状态驱动" 模式下,我们的系统依赖 dminComponentMap.uts 全量静态扫描所有的管理页面。一旦链路树中的某个子节点(例如 product-management/index.uvue)发生了 500 编译失败,会导致整个模块依赖树发生雪崩。父级页面(如引了全局 Layout 的 homePage/index.uvue)会因为底层的依赖断裂,无法组装出正确的 JS 模块,最终导致 **动态导入失败** 的假象。
|
||||
- **解决方案**:
|
||||
1. **禁止盲目改路由**:**绝对不要**因为看到 homePage 报错就去重写 homePage 或者怀疑路由表配错了。
|
||||
2. **顺藤摸瓜找源头**:沿着浏览器 Network 或者 Console 错误的最顶部往上翻,找到第一个且唯一一个抛出 500 的资源(在本例中是 lang.scss)。
|
||||
3. **修复语法树**:回到那个触发 500 的文件,检查并修复 emplate、script、style 标签的闭锁以及其内部(特别是 SCSS 嵌套)的语法错误(如括号配对)。语法自洽后,整个异步组件树便会瞬间全量恢复正常。
|
||||
- **防止复发规范**: 当执行文件全局批量替换或目录大迁移后,切勿遗留未闭合的代码块。修复问题必须采用“由底向外”的收敛原则。
|
||||
---
|
||||
|
||||
这个指南现在涵盖了 uni-app-x 项目开发中最常见的 17 类问题(新增动态导入与语法遮蔽解析),为后续开发提供了完整的故障排除和最佳实践指导。 🚀
|
||||
@@ -2188,4 +2205,5 @@ curl -i -X OPTIONS "http://192.168.1.61:9122/rest/v1/ml_coupon_templates?select=
|
||||
|
||||
---
|
||||
|
||||
这个指南现在涵盖了 uni-app-x 项目开发中最常见的 32 类问题(包含全局组件化最佳实践),为后续开发提供了完整的故障排除和标准化指导。 🚀
|
||||
这个指南现在涵盖了 uni-app-x 项目开发中最常见的 33 类问题(包含全局组件化最佳实践),为后续开发提供了完整的故障排除和标准化指导。 🚀
|
||||
|
||||
|
||||
Reference in New Issue
Block a user