对前端总体结构的认识

张开发
2026/4/13 16:18:03 15 分钟阅读

分享文章

对前端总体结构的认识
前端qian/— Vue 3 SPA前端是一个轻量级的单页应用使用带有script setup语法的 Vue 3 组合式 API。它作为面向用户的界面提供认证、题目浏览和代码提交功能。文件结构qian/ ├── index.html ← HTML 入口 ├── package.json ← 依赖与脚本 ├── package-lock.json ← 依赖锁定文件 ├── vite.config.js ← Vite 开发服务器端口 3000 ├── styles.css ← 全局样式 └── src/ ├── main.js ← 应用引导与路由设置 ├── App.vue ← 根组件router-view ├── api/ ← API 客户端模块 │ ├── user.js ← 登录 / 注册调用 │ ├── problem.js ← 题目列表 / 详情调用 │ ├── judge.js ← 提交 / 运行代码调用 │ ├── submission.js ← 提交记录调用 │ └── comment.js ← 评论增删改查调用 ├── components/ │ ├── Login.vue ← 登录页 │ ├── Register.vue ← 注册页 │ ├── ProblemDetail.vue ← 题目视图 代码编辑器 │ └── CodeEditor.vue ← Monaco 编辑器封装 └── config/ └── api.js ← 各环境的 Base URL 配置前端依赖包版本用途vue^3.4.0UI 框架组合式 APIvue-router^4.2.5SPA 客户端路由axios^1.6.0用于 API 调用的 HTTP 客户端monaco-editor^0.55.1VS Code 级别的代码编辑器monaco-editor/loader^1.7.0按需懒加载 Monaco 包marked^17.0.1Markdown 渲染题目描述vite^5.0.0构建工具与开发服务器路由非常简单三个路由分别映射到Login、Register和ProblemDetail别名为/dashboard根路径/重定向到/login(main.js#L8-L13)。API 层在config/api.js中集中管理后端 URL在开发环境下指向http://localhost:8080/api(api.js#L4-L7)。入口文件为 main.js。它按顺序执行三个任务定义路由、创建路由实例、挂载应用。项目中没有全局状态管理库没有 Pinia 或 Vuex——所有状态都通过 Vue 3 的ref()和reactive()原语存在于各个组件内部。路由表包含四个条目。根路径/会立即重定向到/login因此用户总是首先进入认证页面。const routes [ { path: /, redirect: /login },{ path: /login, component: Login },{ path: /register, component: Register },{ path: /dashboard, component: ProblemDetail }]根组件 非常精简——在template中仅包含一个router-view /且script setup块为空。这意味着在 App 层级没有全局布局容器、导航栏或路由守卫。所有的视觉元素和导航逻辑都由页面级组件自行处理。下图展示了路由系统如何将每个 URL 路径连接到对应的组件以及各组件依赖的 API 模块。组件清单项目在qian/src/components/下包含四个 Vue 组件。它们遵循扁平结构——没有嵌套的组件文件夹没有 composables 目录也没有共享的工具组件。每个组件都是自包含的拥有各自的模板、脚本和作用域样式。Copy codeqian/src/components/ ├── CodeEditor.vue (144 lines) Monaco Editor 包装器 ├── Login.vue (1246 lines) 认证页面 ├── ProblemDetail.vue (2488 lines) 主编程面板 └── Register.vue (1085 lines) 注册页面

更多文章