"添加前端模板和运行代码模块"
This commit is contained in:
106
qiming-xagi-frontend-templates/packages/react-vite/README.md
Normal file
106
qiming-xagi-frontend-templates/packages/react-vite/README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# React + Vite + TypeScript Template
|
||||
|
||||
A modern React 18 + Vite + TypeScript project template, optimized for AI-assisted development.
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- **Node.js** >= 18.0.0
|
||||
- **pnpm** >= 8.0.0 (required)
|
||||
|
||||
### Setup
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
## Command Contract
|
||||
|
||||
Use this command set consistently (same contract as `vue3-vite`).
|
||||
|
||||
```bash
|
||||
# Development
|
||||
pnpm dev # Dev server
|
||||
pnpm build # Production build
|
||||
pnpm preview # Preview production build
|
||||
|
||||
# Quality gate
|
||||
pnpm type-check # TypeScript check
|
||||
pnpm lint # ESLint
|
||||
pnpm check # Required gate: type-check + lint
|
||||
|
||||
# Formatting (optional)
|
||||
pnpm format
|
||||
pnpm format:check
|
||||
```
|
||||
|
||||
Workspace-level checks (run from monorepo root):
|
||||
|
||||
```bash
|
||||
pnpm check:templates # Runs pnpm check for vue3-vite + react-vite
|
||||
pnpm check:versions # Verifies package.json/meta.json/templates.json version alignment
|
||||
```
|
||||
|
||||
## Project Layout (Isomorphic with Vue template)
|
||||
|
||||
```text
|
||||
src/
|
||||
├── components/ # Shared components
|
||||
│ └── ui/ # Radix-based UI primitives
|
||||
├── examples/ # Reference only, never copy directly to production
|
||||
│ ├── api-example.ts
|
||||
│ ├── form-example.tsx
|
||||
│ └── list-page-example.tsx
|
||||
├── lib/ # API and utilities
|
||||
│ ├── api.ts
|
||||
│ ├── services.ts
|
||||
│ └── utils.ts
|
||||
├── pages/ # Route-level pages
|
||||
│ ├── Home.tsx
|
||||
│ ├── ExamplesPage.tsx
|
||||
│ └── NotFound.tsx
|
||||
├── router/
|
||||
│ └── index.tsx # Hash router (includes /examples)
|
||||
├── App.tsx
|
||||
├── main.tsx
|
||||
└── index.css
|
||||
```
|
||||
|
||||
## Examples Policy
|
||||
|
||||
- `src/examples/*` is pattern reference only.
|
||||
- Re-implement the pattern in real feature files.
|
||||
- Do not paste example files into production code.
|
||||
|
||||
## AI Agent Workflow (minimum path)
|
||||
|
||||
### New page (5 steps)
|
||||
|
||||
1. Add page in `src/pages/<FeatureName>.tsx`.
|
||||
2. Register route in `src/router/index.tsx`.
|
||||
3. Use existing UI primitives from `src/components/ui`.
|
||||
4. Add service calls through `src/lib/services.ts` when needed.
|
||||
5. Run `pnpm check`.
|
||||
|
||||
### New API flow (4 steps)
|
||||
|
||||
1. Define API call in `src/lib/api.ts` or service module.
|
||||
2. Add typed wrapper in `src/lib/services.ts`.
|
||||
3. Consume from page/component through the service wrapper.
|
||||
4. Run `pnpm check`.
|
||||
|
||||
## Stack
|
||||
|
||||
- React 18
|
||||
- Vite
|
||||
- TypeScript (strict)
|
||||
- Tailwind CSS
|
||||
- Radix UI primitives
|
||||
- React Hook Form + Zod
|
||||
- Axios
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
Reference in New Issue
Block a user