136 lines
2.6 KiB
Markdown
136 lines
2.6 KiB
Markdown
# xuanzhi-wx
|
||
|
||
微信原生小程序项目骨架,技术栈为 `原生小程序 + JS + npm + TDesign`。
|
||
|
||
当前骨架包含:
|
||
|
||
- 主包页面:`首页`、`登录页`
|
||
- 示例分包:`packages/demo/pages/workbench`
|
||
- 公共层:`services`、`stores`、`config`、`components`
|
||
- 工程化:`ESLint`、`Jest`、`Prettier`、`miniprogram-ci`
|
||
|
||
## 环境准备
|
||
|
||
开始前请先准备:
|
||
|
||
- Node.js 和 npm
|
||
- 微信开发者工具
|
||
|
||
## 初始化
|
||
|
||
首次拉起项目时执行:
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
安装完成后,用微信开发者工具打开项目根目录:
|
||
|
||
```text
|
||
D:\Code3\wdp\xuanzhi-wx
|
||
```
|
||
|
||
然后执行一次:
|
||
|
||
```text
|
||
工具 -> 构建 npm
|
||
```
|
||
|
||
说明:
|
||
|
||
- 项目使用了 `tdesign-miniprogram`
|
||
- 只执行 `npm install` 不够,还需要在微信开发者工具里构建 npm
|
||
- 当你更新了 npm 依赖后,需要重新执行一次“构建 npm”
|
||
|
||
## 本地运行
|
||
|
||
1. 打开微信开发者工具
|
||
2. 导入项目根目录
|
||
3. 确认使用项目内的 `AppID`
|
||
4. 执行 `工具 -> 构建 npm`
|
||
5. 点击编译或预览
|
||
|
||
项目当前默认入口:
|
||
|
||
- 主包首页:`pages/home/index`
|
||
- 登录页:`pages/login/index`
|
||
- 示例分包页:`packages/demo/pages/workbench/index`
|
||
|
||
## 常用命令
|
||
|
||
安装依赖:
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
运行测试:
|
||
|
||
```bash
|
||
npm test
|
||
```
|
||
|
||
监听测试:
|
||
|
||
```bash
|
||
npm run test:watch
|
||
```
|
||
|
||
检查代码规范:
|
||
|
||
```bash
|
||
npm run lint
|
||
```
|
||
|
||
格式化文件:
|
||
|
||
```bash
|
||
npm run format
|
||
```
|
||
|
||
## 目录简介
|
||
|
||
```text
|
||
.
|
||
├─components
|
||
│ ├─base # 基础组件封装,当前包含 app-button
|
||
│ └─biz # 业务组件封装,当前包含 entry-card
|
||
├─config # 环境配置、常量
|
||
├─pages # 主包页面
|
||
├─packages # 分包页面
|
||
├─scripts/ci # miniprogram-ci 脚本
|
||
├─services # request 和 API 模块
|
||
├─stores # 全局轻量状态
|
||
├─tests # Jest 测试
|
||
└─utils # 纯工具函数
|
||
```
|
||
|
||
## 运行说明
|
||
|
||
- 页面里不要直接调用 `wx.request`,统一走 `services/request`
|
||
- 跨页共享状态统一放 `stores`
|
||
- 主包尽量只放首屏、登录、Tab 和公共能力
|
||
- 新业务页面优先考虑放进对应分包
|
||
|
||
## CI 上传
|
||
|
||
项目已预留 `miniprogram-ci` 脚本:
|
||
|
||
```bash
|
||
npm run ci:preview
|
||
npm run ci:upload
|
||
```
|
||
|
||
运行前需要准备环境变量:
|
||
|
||
- `WEAPP_PRIVATE_KEY_PATH`
|
||
- `WEAPP_APPID`(可选,不传则默认读取 `project.config.json`)
|
||
- `WEAPP_VERSION`
|
||
- `WEAPP_DESC`
|
||
- `WEAPP_ROBOT`
|
||
|
||
## 备注
|
||
|
||
- 当前基础库已配置为 `stable`
|
||
- 如果微信开发者工具里出现组件找不到,优先检查是否已经执行“构建 npm”
|