72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
## todo
|
||
|
||
解决 cookies 重合问题
|
||
|
||
导航栏菜单项
|
||
|
||
页面表格内单元样式细化
|
||
|
||
仪表盘填充真实数据
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
public/ # 静态资源(图片、字体等)
|
||
src/
|
||
├── actions/ # 服务端 Action(表单提交、数据操作等)
|
||
├── app/ # App Router 核心目录
|
||
│ ├── (root)/ # 根路由组(无路径前缀)
|
||
│ ├── login/ # /login 路由页面
|
||
│ ├── favicon.ico # 网站图标
|
||
│ ├── globals.css # 全局样式
|
||
│ └── layout.tsx # 根布局组件
|
||
├── components/ # 可复用 UI 组件
|
||
├── hooks/ # 自定义 React Hooks
|
||
├── lib/ # 工具函数、第三方库封装
|
||
├── models/ # 数据模型、类型定义、Schema
|
||
└── proxy.ts # 代理配置(API 转发等)
|
||
.env # 环境变量(本地开发)
|
||
.env.example # 环境变量示例模板
|
||
.gitignore # Git 忽略文件
|
||
.npmrc # npm 配置
|
||
biome.json # Biome 代码格式化/检查配置
|
||
bun.lock # Bun 包管理器锁文件
|
||
components.json # shadcn/ui 组件库配置
|
||
Dockerfile # Docker 容器化配置
|
||
next-env.d.ts # Next.js 类型声明
|
||
next.config.ts # Next.js 配置文件
|
||
package.json # 项目依赖与脚本
|
||
postcss.config.mjs # PostCSS 配置
|
||
README.md # 项目说明文档
|
||
tsconfig.json # TypeScript 配置
|
||
```
|
||
|
||
## 搭建开发环境
|
||
|
||
1. 下载本地项目:`git clone https://43.226.58.254:53000/lanhu/admin`
|
||
2. 安装依赖包:`bun install`
|
||
3. 创建环境变量文件 .env,复制 .env.example 中的内容到 .env,并根据实际情况修改
|
||
4. 启动项目终端运行 `bun run dev`
|
||
|
||
## 构建项目 & 版本管理
|
||
|
||
1. 在 package.json 文件中修改版本号
|
||
2. 构建并上传镜像, 终端运行 `./publish.ps1 <版本号>`
|
||
3. 终端执行成功后在 `https://43.226.58.254:53000/lanhu/admin` 发布最新版本
|
||
|
||
## 技术栈
|
||
| 类别 | 场景/库名 | 推荐方案/用途 |
|
||
| :--- | :--- | :--- |
|
||
| **核心框架** | Next.js | 服务框架 (React 全栈框架) |
|
||
| **UI / 样式体系** | Radix UI | 无样式基础 UI 组件原语 |
|
||
| | Tailwind CSS | CSS 框架 (原子化 CSS) |
|
||
| | lucide-react | 图标库 |
|
||
| **表单与数据验证** | React Hook Form | 表单状态管理及验证 |
|
||
| | Zod | 数据验证与类型推断 |
|
||
| **数据管理与通信** | Zustand | 全局状态管理库 |
|
||
| | TanStack Query | 服务端状态管理 (数据请求、缓存) |
|
||
| | TanStack Table | 无头 UI 表格库 |
|
||
| **工具库** | date-fns | 日期时间处理库 |
|
||
|
||
生产环境的项目部署通过单独的部署脚本进行管理,前端开发上线只需要构建以及发布版本,无需考虑部署问题。
|