cp .env.sample .env.local
pnpm install
pnpm dev
- 文件夹名:
- 短横线命名
- 文件名:
- 组件:短横线命名
- hook:短横线命名
- 其他文件:短横线命名
- 类型定义:
- type类型:T + 名字 (尽量保持一致采用这个)
- interface类型:I + 名字
- enum类型:E + 名字
- 其他类型:名字
- 变量名:
- 常量:大写字母 + 下划线
- 其他变量:小驼峰命名
确保 app 只涉及路由页面,保持 app 的简介,方便后续维护(如 替换技术栈等特殊场景)和识别路由布局
├── app // 组件
│ ├── (auth) // 登录相关
│ ├── (main) // 核心页面
│ │ ├── course // 课程
│ │ │ ├── (course) // 课程详情
│ │ │ ├── (chapter) // 课程章节(文档)阅读
│ │ │ ├── (quiz) // 课程章节测验
│ │ ├── personal // 个人中心
├── components // 共享组件 和 基础组件(shadcn)
├── hooks // 全局hook
├── features // 按照domain 划分(功能模块)
│ ├── course
│ │ ├── api // 和课程相关的 API hook
│ │ ├── components // 和课程相关的组件
│ │ ├── hooks // 和课程相关的 hooks
│ │ ├── type.ts | types // 和课程相关的类型
├── lib // 工具类
├── styles // 全局样式
├── types // 全局类型定义