1.8 KiB
1.8 KiB
frontend-directory-spec
适用范围
- 涉及新增目录、移动文件、决定代码落点时必读。
- 本文档只定义前端工程目录边界,不定义具体业务规则。
当前主目录职责
| 目录 | 职责 | 默认落点 |
|---|---|---|
src/view |
页面级目录,负责页面编排、页面级状态、页面生命周期 | 新页面、新页面内局部子组件 |
src/components |
跨页面复用组件 | 被多个页面或多个模块复用的 UI 片段 |
src/hooks |
可复用组合逻辑 | 多页面共享的行为逻辑 |
src/api |
主应用接口函数 | 主应用页面直接调用的请求封装 |
src/pinia/modules |
跨页面共享状态 | 登录态、路由态、全局字典、全局配置 |
src/router |
路由入口 | 静态路由定义 |
src/plugin |
插件化业务目录 | 插件自己的 api / view / form |
src/utils |
通用工具 | 与页面、组件解耦的工具逻辑 |
src/style |
全局样式与覆盖 | 全局样式、Element Plus 覆盖 |
src/assets |
构建期静态资源 | 图片、图标、背景资源 |
强制规则
- 新页面默认放在
src/view/<module>,不要直接放到src/components。 - 只有跨页面复用的 UI 才进入
src/components;只在单页内使用的组件优先放在页面目录内。 - 共享行为逻辑优先放在
src/hooks;不要把纯逻辑长期堆在页面或组件里。 - 插件相关代码优先留在
src/plugin/<plugin>内部自洽,只有真正公共的能力才上提。 - 不允许随意新增新的
src/*顶层目录;必须先评估现有目录是否可以承载。
常见错误
- 把单页面局部组件放进
src/components,导致公共目录堆积业务代码。 - 把页面状态塞进
pinia,导致全局状态污染。 - 为插件单独复制一套请求层、路由层或全局样式层。