bun + vite7 的结合,孕育的 Robot Admin 靓仔出道(三)

108 阅读4分钟

Robot Admin 项目结构详解

理解Robot_Admin的结构对于高效开发至关重要。本指南将带您了解构成该应用程序的关键目录和文件,解释它们的作用以及它们之间的关联。

Robot_Admin遵循基于功能的组织模式,具有清晰的关注点分离。该项目使用Vue 3、Vite、TypeScript构建,并包含多种现代前端技术,如用于状态管理的Pinia、用于组件的Naive UI以及用于样式的UnoCSS。

以下是项目结构的高级可视化:

image.png

让我们更详细地深入了解每个部分。

核心源代码结构

src/目录包含按逻辑模块组织的主要应用程序代码:

1. 应用程序入口点

main.ts:应用程序的引导文件,用于初始化Vue并加载所有插件。它遵循清晰的分阶段初始化模式,以确保所有依赖项的正确设置。

2. API层

api/ :包含按功能(用户、角色、权限等)组织的API端点定义

axios/ :HTTP客户端的配置,包括拦截器和常见设置

这种分离使得按域清晰组织API调用,并集中管理请求/响应处理。

3. 组件系统

components/ :Vue组件按以下方式组织:

global/ :应用程序范围内可重用的组件

local/ :特定功能的组件

icons/ :图标组件

这种组织有助于区分真正可重用的组件和与特定功能绑定的组件。

4. 状态管理

stores/ :按域组织的Pinia存储模块:

app/ :应用程序级别状态

user/ :用户认证和资料

permission/ :用户权限

theme/ :UI主题设置

每个存储模块遵循相同的模式,清晰定义了状态、获取器和操作。例如,用户存储模块处理登录状态、用户信息以及认证操作。

5. 路由系统

路由系统分为:

router/index.ts:核心路由配置

publicRouter.ts:无需认证的静态路由

dynamicRouter.ts:基于用户权限动态加载的路由

permission.ts:导航守卫和权限检查

这种结构支持复杂的路由管理,具有以下功能:

  • 公开与受保护的路由
  • 从后端数据动态生成路由
  • 基于权限的访问控制

6. 视图(页面)

views/ :按功能组织的页面组件:

dashboard/ :主仪表板视图

login/ :认证视图

sys-manage/ :系统管理视图

error-page/ :错误处理页面

每个视图通常对应一个路由,并可能包含其自己的组件、组合函数和样式。

7. 实用模块

utils/ :按用途组织的实用函数

hooks/ :用于可重用逻辑的自定义Vue组合函数:

  • useCopy/ :剪贴板操作
  • useDownload/ :文件下载处理
  • useExcel/ :Excel文件操作
  • useFormSubmit/ :表单提交助手
  • useStorage/ :本地存储抽象
  • 以及更多...

composables/ :特定功能的组合函数

directives/ :自定义Vue指令

8. 配置和类型

config/ :应用程序配置设置

constant/ :应用程序常量

types/ :TypeScript类型定义

  • modules/ :特定功能的类型
  • global.d.ts:全局类型声明
  • env.d.ts:环境变量类型
  • components.d.ts:自动生成的组件类型

TypeScript在整个项目中广泛使用,以确保类型安全并提供更好的开发者体验。

9. 样式系统

styles/ :全局样式

  • index.scss:主样式入口
  • custom.scss:自定义样式
  • workflow-theme.scss:工作流特定主题

unocss.config.ts:UnoCSS实用程序配置

项目结合使用UnoCSS(实用类)和SCSS来样式化组件。

根配置文件

文件目的
package.json项目元数据、依赖项和脚本
vite.config.tsVite构建工具配置
tsconfig.jsonTypeScript编译器设置
eslint.config.ts代码风格和 linting 规则
unocss.config.ts实用CSS配置
commitlint.config.js提交消息 linting 规则

开发脚本

scripts/目录包含用于开发的实用脚本:

copy-env.mjs:环境配置处理

check-branch.mjs:Git分支验证

smart-type-*.js:TypeScript类型分析工具

这些脚本支持开发工作流,确保环境一致性和代码质量。

应用程序初始化流程

image.png

理解应用程序如何初始化很重要。main.ts文件展示了一个清晰的分阶段方法:

这一序列确保在应用程序挂载到DOM之前正确初始化所有依赖项。

结论

Robot_Admin遵循Vue 3应用程序结构的现代最佳实践,具有清晰的关注点分离。模块化组织使得代码易于查找,并理解应用程序不同部分之间的关系。

这种结构的主要优势包括:

  1. 基于功能的组织,便于维护
  2. 清晰区分可重用和特定功能代码
  3. 全程使用TypeScript确保类型安全
  4. 使用Pinia进行模块化状态管理
  5. 复杂的路由系统,支持动态路由

在您使用代码库时,请记住,大多数功能都是围绕其域组织的,共享的实用程序和组件被提取到适当的目录中。


期待共建

如果这个项目对你有帮助,请给个 Star ⭐️ 支持一下!

点击直达GitHub: github.com/ChenyCHENYU…

项目资源:

• 项目预览:robotadmin.cn/

• 项目文档:www.tzagileteam.com/

让我们一起构建更好的开发体验!