@/viewschorus/...
复现:登录管理端,点击任一 Chorus 左侧导航模块。实际结果:运行时提示无法找到 @/viewschorus/providers/index.vue 等模块。期望结果:所有已配置 Chorus 菜单均能加载对应 src/views/chorus/ 页面且无运行时错误。
@/viewschorus/providers/index.vue
src/views/chorus/
根因:数据库菜单组件值为 chorus/providers/index 等无前导斜杠路径;loadView 生成的 require.context key 缨少 ./,动态 import 路径也缺少 views/ 之间的斜杠。
chorus/providers/index
loadView
./
views/
将传入组件值转换为无前导斜杠的相对路径,由纯函数生成 ./<path>.vue 上下文键;动态 import 使用 @/views/<path>.vue。对无前导斜杠和带前导斜杠两种输入建立测试。
./<path>.vue
@/views/<path>.vue
预计修改文件:
admin-ui/src/store/modules/permission.js
admin-ui/src/store/modules/route-view.js
admin-ui/tests/unit/store/route-view.spec.js
无。
Cannot find module
pnpm --dir admin-ui test:unit -- --runInBand
pnpm --dir admin-ui build:prod
风险:路径规范化可能影响旧的带前导斜杠菜单值。通过两种格式测试和实际菜单回归控制。回退方式:回退本工单独立提交。
1d7d9fb
viewschorus
Cannot read properties of undefined (reading 'getters')
src/store/index.js
require.context('./modules', true, /\.js$/)
route-view.js
default
undefined
src/utils/route-view.js
ba9e6ad
src/store/modules/
src/utils/
.js
chorus-admin-ui
getters
window.scrollTo
710258b8a686b1afdf52895f1a7d994af96a56fe
origin/main
No dependencies set.
The note is not visible to the blocked user.
基本信息
依赖与并行
子项目影响
原始需求
@/viewschorus/...模块,要求建立缺陷工单并修复。要解决什么
复现:登录管理端,点击任一 Chorus 左侧导航模块。实际结果:运行时提示无法找到
@/viewschorus/providers/index.vue等模块。期望结果:所有已配置 Chorus 菜单均能加载对应src/views/chorus/页面且无运行时错误。根因:数据库菜单组件值为
chorus/providers/index等无前导斜杠路径;loadView生成的 require.context key 缨少./,动态 import 路径也缺少views/之间的斜杠。做什么 / 不做什么
已确认方案
将传入组件值转换为无前导斜杠的相对路径,由纯函数生成
./<path>.vue上下文键;动态 import 使用@/views/<path>.vue。对无前导斜杠和带前导斜杠两种输入建立测试。预计修改文件:
admin-ui/src/store/modules/permission.jsadmin-ui/src/store/modules/route-view.js(纯路径辅助函数)admin-ui/tests/unit/store/route-view.spec.js需求变化记录
无。
设计与原型门禁
文档影响
交付文档影响
验收标准
Cannot find module或运行时错误。验证方式
pnpm --dir admin-ui test:unit -- --runInBandpnpm --dir admin-ui build:prod风险和回退
风险:路径规范化可能影响旧的带前导斜杠菜单值。通过两种格式测试和实际菜单回归控制。回退方式:回退本工单独立提交。
实施结果
1d7d9fb./<path>.vue的 webpack 上下文键和@/views/<path>.vue的兜底路径。viewschorus错误字符串为 0。验收失败与继续修复(2026-08-24)
Cannot read properties of undefined (reading 'getters')。src/store/index.js使用require.context('./modules', true, /\.js$/)自动注册所有模块;纯辅助文件route-view.js没有 Vuexdefault导出,被注册为undefined。src/utils/route-view.js,更新引用与测试,并验证 Store 初始化和实际运行包。继续修复结果(2026-08-24)
ba9e6ad。route-view.js从src/store/modules/移到src/utils/,生产引用和测试引用同步更新;Vuex 自动注册逻辑保持不变。src/store/modules/现有 7 个.js文件均有 Vuexdefault导出,缺失数为 0。chorus-admin-ui后状态为 Running;9528 页面成功完成 DOM 挂载,getters运行时错误为 0。DOM 测试唯一提示为测试环境未实现window.scrollTo,与本缺陷无关。用户验收
710258b8a686b1afdf52895f1a7d994af96a56fe。1d7d9fb、ba9e6ad,均已推送至origin/main。