Markdown
├── public/ # 静态资源 (直接复制到dist)
│ ├── favicon.ico # 站点图标
│ └── js # 第三方js库
│
├── src/
│ ├── api/ # 接口请求
│ │ └── moduleA/ # 模块A
│ │ └── index.ts(js) # 模块A接口
│ │ └── moduleB/ # 模块B
│ │ └── index.ts(js) # 模块B接口
│ │
│ ├── assets/ # 编译处理的静态资源
│ │ ├── fonts/ # 字体文件
│ │ ├── images/ # 图片资源
│ │ └── styles/ # 全局样式
│ │ └── index.scss # css、scss、less文件
│ │
│ ├── components/ # 公共组件 (统一使用大驼峰命名)
│ │ ├── ComponentsA/ # 组件A (公共业务组件)
│ │ └── BaseA/ # 基础组件(按钮/输入框等, Base开头: BaseTable, BaseForm等)
│ │
│ │ └── index.vue # 组件入口
│ │
│ ├── hooks/ # Vue组合式函数 (React对应hooks)
│ ├── layouts/ # 布局组件
│ ├── router/ # 路由配置
│ ├── store/ # 状态管理
│ ├── utils/ # 工具函数
│ │ ├── request.ts # 请求封装
│ │ ├── ***.ts # 验证工具
│ │ └── index.ts(js) # 工具函数
│ │
│ ├── views/ # 页面级组件
│ │ ├── moduleA/ # 业务模块A
│ │ │ ├── components/ # 模块私有组件
│ │ │ ├── static.ts # 静态资源(模块中用到的常量、枚举、类型定义等)
│ │ │ └── index.vue
│ │ └── moduleB/ # 业务模块B
│ │
│ ├── App.vue # 根组件
│ └── main.ts # 应用入口
│
├── tests/ # 测试相关
│ ├── unit/ # 单元测试
│ └── e2e/ # 端到端测试
│
├── .github/ # GitHub工作流配置
├── .husky/ # Git钩子
├── .vscode/ # 编辑器配置
├── vite/ # 构建插件
├── docs/ # 项目文档
└── types/ # 全局类型声明 (TS项目)