40 lines
2.9 KiB
Markdown
40 lines
2.9 KiB
Markdown
# Repository Guidelines
|
||
|
||
## 项目结构与模块组织
|
||
|
||
- `src/` 存放核心前端代码:`pages/` 管理业务页面(登录、用户管理、个人信息),`components/` 复用组件,`api/` 与后端交互封装,`store/` 保存全局设置与标签页状态,`utils/` 管理工具函数,`mock/` 仅在本地调试启用。
|
||
- `docs/` 收录 API 对接与集成报告,提交前务必同步更新。
|
||
- `dist/` 为 `pnpm run build` 产物,禁止手动修改;`.env.*` 提供环境变量,请按需复制调整。
|
||
|
||
## 构建与开发命令
|
||
|
||
| 命令 | 说明 |
|
||
| ---------------------------------------- | --------------------------------------------------------- |
|
||
| `pnpm install` | 安装依赖,项目首选 pnpm(若使用 npm,需同步更新锁文件)。 |
|
||
| `pnpm run dev` | 启动 Vite 开发服务器,默认走 `/api` 代理到本地 8080。 |
|
||
| `pnpm run build` | 生成产物到 `dist/`,用于联调或上线前校验。 |
|
||
| `pnpm run preview` | 以本地静态服务验证构建结果。 |
|
||
| `pnpm run eslint` / `pnpm run stylelint` | 校验并自动修复 TS/TSX 与 Less。 |
|
||
| `pnpm run pre-commit` | 执行 pretty-quick、ESLint、Stylelint,PR 前必跑。 |
|
||
|
||
## 编码风格与命名
|
||
|
||
- 语法统一使用 TypeScript + React 17 Hooks,目录与文件采用小写连字符(示例:`user-management`)。
|
||
- ESLint 继承 `plugin:@typescript-eslint/recommended` 与 `plugin:react-hooks/recommended`;Prettier 约定 2 空格缩进、单引号、强制分号。
|
||
- 样式使用 Less + CSS Modules,遵循 `.module.less` 命名,Stylelint 规则在 `.stylelintrc` 中定义。
|
||
|
||
## 测试指引
|
||
|
||
- 当前仓库尚未集成自动化测试;提交复杂功能时,需给出手工测试步骤,并优先在 `src/__tests__`(或相应页面目录)补充 `*.spec.tsx`。
|
||
- 覆盖重点:核心表单(登录、用户管理)与 API 适配层,可借助 Jest + @testing-library/react;命名遵循 `模块名.行为.spec.tsx`。
|
||
|
||
## 提交与 PR 规范
|
||
|
||
- Commit 信息遵循 `type(scope): 描述`,与现有记录(如 `feat(布局): ...`、`style(导航栏): ...`)保持一致,描述使用简体中文。
|
||
- Pull Request 需包含:变更摘要、关联 Issue/需求编号、截图或命令输出、测试与 lint 结果;若改动 API 或配置,同步更新 `docs/` 与 `.env.*` 示例。
|
||
|
||
## 安全与配置提示
|
||
|
||
- `.env.development` 默认将 `VITE_API_BASE_URL` 指向 `/api`,生产环境务必更新为真实网关地址,避免调试代理泄漏。
|
||
- Mock 入口在 `src/main.tsx` 引入,如需生产构建剔除,可通过环境变量包装 `import './mock'`,防止将虚拟数据发布到线上。
|