遵循本仓库前端开发规范(React + TypeScript + Ant Design + Zustand + SCSS Modules)。在实现需求、重构模块、代码评审时使用,重点关注目录结构、组件模式、通过 @/api 调用接口、类型与样式一致性。
前端技能规范
功能概述
前端技能规范是一项面向实际任务的技能,主要用于以下规范适用于本仓库 src/ 目录下的前端代码;仅在本仓库前端代码中生效,不用于后端或脚本目录;
核心要点
- React 18+(函数组件 + Hooks);
- TypeScript 5+;
- Vite 7+;
使用与执行
Ant Design 5+;Zustand 5+;React Router 6+;SCSS Modules;接口访问统一通过 @/api 封装(业务模块中不直接使用 axios)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
结果检查与注意事项
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
前端技能规范
适用范围
以下规范适用于本仓库 src/ 目录下的前端代码。
仅在本仓库前端代码中生效,不用于后端或脚本目录。
技术栈
- React 18+(函数组件 + Hooks)
- TypeScript 5+
- Vite 7+
- Ant Design 5+
- Zustand 5+
- React Router 6+
- SCSS Modules
- 接口访问统一通过
@/api封装(业务模块中不直接使用 axios)
命名规范
- 组件文件名 / 组件名:
PascalCase - 变量 / 函数:
camelCase - 类型 / 接口:
PascalCase - 常量:
UPPER_SNAKE_CASE - 样式模块:
index.module.scss+styles.camelCaseName - 工具文件:
.ts;界面组件:.tsx
组件规范
- 优先使用函数组件和 Hooks,避免 class 组件。
- props 优先使用显式接口定义。
- 在可行情况下,将业务状态/副作用与展示 UI 分离。
- 仅在确有收益时使用
memo,避免无差别包裹。- 如果组件仅被单处使用且渲染成本低,不要机械加
memo。
- 如果组件仅被单处使用且渲染成本低,不要机械加
接口规范
- 后端请求统一通过
@/api调用。 - 业务组件中不要直接调用 axios。
- 保持与现有请求/响应拦截器行为一致。
- 当前项目响应会经过拦截器二次解析,mock/接口返回结构要兼容该行为。
状态规范(Zustand)
- Store 结构应同时包含状态与动作(actions)。
- 组件读取局部状态时使用带类型的 selector。
- 状态更新保持可预期、最小化。
类型规范
- 避免
any,为接口数据和 props 提供明确类型。 - 可复用的领域类型放在
src/interface。 - 仅组件内部使用的类型放在组件附近。
样式规范
- 组件样式使用 SCSS Modules。
- 除非必须处理动态值,否则避免内联样式。
:global仅用于第三方组件样式覆写(如 Ant Design 内部类名)。style={{...}}仅用于必须动态计算的场景,其余统一放模块样式。
- 主题色、Antd 覆盖与全局变量见 styles-and-theme.md。
目录规范
遵循现有目录结构:
src/modules:按业务功能划分的模块src/components:公共组件src/hooks:可复用 hookssrc/api:接口封装与配置src/store:Zustand 状态管理src/interface:类型声明src/utils:通用工具函数
推荐模式
1) 数据处理与展示渲染分离
- 将副作用、流解析、请求编排放在 hooks/controllers 中。
- 展示组件尽量保持纯粹,通过 props 驱动。
- 优先“容器组件 + 展示组件”分层,减少业务逻辑散落在 JSX。
2) 表单与列表保持可预期
- 表单值、表格行数据使用强类型。
- 以请求边界为中心管理异步 loading/error 状态。
3) 低风险演进改造
- 如无明确迁移计划,保持现有外部 props/interface 不变。
- 分层重构:先提取 types/utilities -> 再提取 hooks -> 最后提取展示组件。
项目常见 UI 模式
Section 容器优先
- 如果页面属于标准表单/列表/配置页,优先使用
Section与Section.Module。 - 新页面优先复用统一页面壳,避免每个模块重复写标题/底部按钮布局。
CRUD 页面基线
- 使用带类型的表格行与表单值定义。
loadData请求流程集中在单一位置维护。- 复用
@/api封装与现有错误/加载反馈模式。
禁止事项
- class 组件
var- 在业务模块中直接使用 axios
- 滥用
any - 大段内联样式
- 已有公共 dict/常量时仍硬编码业务文案
模板库
- 可复用模板见 templates.md。
- 当用户说“按模板生成一个模块/页面”时,优先从模板文件取骨架。
- 样式与 Antd 主题约定见 styles-and-theme.md。
代码生成与重构执行清单
- 遵循上述命名与目录规范。
- 类型定义保持明确且收敛。
- 数据逻辑优先沉淀为可复用 hooks/utilities。
- 展示组件聚焦渲染职责。
- 网络请求统一走
@/api。 - 仅在逻辑不直观处补充最小必要注释。
- 合适场景优先复用
templates.md中的模板骨架。
热门AI工具
相关专题
本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。
0
2026.11.02
本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。
0
2026.11.02
本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。
0
2026.11.02
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。
0
2026.10.28
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章