# 微信小程序项目规则(优化版)
## 目录结构规范
- 页面文件必须放在 `pages/` 目录下,按功能模块分类(如 `student/`、`login/` 等)
- 公共组件放在 `components/` 目录下,每个组件独立目录
- 工具函数按照功能分类:
- API 请求相关:`api/` 目录
- 通用工具:`util/` 目录
- 枚举值:`enum/` 目录
- 通用业务逻辑:`common/` 目录
- 静态资源管理:
- 图片资源:`images/` 或 `assets/` 目录
- 自定义 TabBar:`custom-tab-bar/` 目录
## 技术栈规范
- 使用 UnoCSS 进行样式管理:
- 配置文件:`unocss.config.js`
- 生成样式:`unocss.wxss`
- 使用 NPM 包管理依赖:
- 第三方依赖统一在 `package.json` 中声明
- 小程序 NPM 构建产物在 `miniprogram_npm/` 目录
## 代码规范
- JavaScript 规范:
- 使用 ES6+ 语法
- 遵循项目配置的 ESLint 规则
- 使用 JSConfig 配置(`jsconfig.json`)增强开发体验
- 网络请求规范:
- 所有请求必须通过 `api/` 目录下的接口函数调用
- 支持 Mock 数据开发(`mock/` 目录)
- 统一错误处理和响应拦截
## 组件开发规范
- 组件命名采用 kebab-case 风格(如 `course-card`、`employee-select`)
- 组件必须包含:
- 组件配置文件(`.json`)
- 组件逻辑文件(`.js`)
- 组件模板文件(`.wxml`)
- 组件样式文件(`.wxss`)
- 组件通信:
- 属性传递使用 `properties`
- 事件传递使用 `triggerEvent`
- 复杂状态管理考虑使用全局状态
## 页面开发规范
- 页面命名规范:
- 页面文件夹采用 kebab-case 命名(如:`course-detail/`)
- 页面文件名必须与文件夹名称保持一致(如:`course-detail/course-detail.js`)
- 完整的页面文件结构示例:
```
pages/
└── course-detail/
├── course-detail.js
├── course-detail.json
├── course-detail.wxml
└── course-detail.wxss
```
- 页面分包加载:
- 主包保持精简,合理使用分包
- 分包配置在 `app.json` 中管理
- 页面性能优化:
- 合理使用 `wx:if` 和 `hidden`
- 避免不必要的数据更新和渲染
- 及时销毁不需要的定时器和监听器
## 样式规范
- 使用 UnoCSS 工具类优先
- 自定义样式遵循以下规则:
- 使用 `rpx` 作为主要单位
- 避免行内样式
- 组件样式隔离
- 主题色值统一管理
## 开发流程规范
- 版本控制:
- 遵循 `.gitignore` 规则
- 合理管理 `project.config.json` 和 `project.private.config.json`
- 云开发规范(如果使用):
- 云函数配置在 `.cloudbase/` 目录
- 遵循最小权限原则
## 其他规范
- 小程序配置:
- 页面配置统一在 `app.json` 管理
- 权限管理通过 `permission.js` 统一控制
- 文档规范:
- 重要功能模块必须包含 README 文档
- 关键代码必须包含注释
- 接口文档必须及时更新
微信小程序cursorrules
最新推荐文章于 2025-05-25 16:21:42 发布