基础准备:项目结构与工具链
工具版本对齐 :微信开发者工具与基础库往往成对更新,升级前先记录当前版本,避免回退困难。
工程目录建议 :
project/ ├── miniprogram/ ├── cloudfunctions/ ├── config/ └── scripts/
多环境切换 :利用 project.config.json 的 envVersion 字段区分 develop、trial、release,并在构建脚本中写入:
node scripts/sync-env.js --env trial
常见问题与处理策略
热更新失效或缓存脏数据
打开开发者工具:设置 → 不校验合法域名 → 关闭“ES6 转 ES5”;清理数据后重新编译。
在 app.js 的 onLaunch 中添加版本号校验,触发 wx.clearStorageSync()。
接口 415 或 502
检查服务器是否在微信开放平台配置 request合法域名;
若使用云函数,确认超时时间与并发限制,必要时拆分函数或启用 scfAsync。
页面白屏
查看调试器 Network 面板是否有资源 404;
使用 wx.onError 捕获运行时异常,上传至监控服务。
真机与开发工具表现不一致
真机调试时开启“性能面板”观察 FPS 与内存;
对复杂动画使用原生组件,如 wx.createSelectorQuery().selectViewport().scrollOffset() 结合 requestAnimationFrame。
云开发与自动化部署
云函数版本控制 :在 Git 仓库中拆分云函数目录,每个函数单独维护 package.json 与 README。
CI 脚本示例 (GitHub Actions):
steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with : node-version: '18' - run: npm install -g miniprogram-ci - run: node scripts/build.js - run: miniprogram-ci upload --project ./path --version 1.2 .$GITHUB_RUN_NUMBER --desc "自动化构建" env: MINIPROGRAM_CI_PRIVATE_KEY: ${{ secrets.MINIPROGRAM_KEY }} MINIPROGRAM_APPID: ${{ secrets.MINIPROGRAM_APPID }}
日志监控 :启用云开发控制台的“云函数日志持久化”,并用 cls 或自建 ELK 收集错误信息。
日常复盘清单
每个需求结束后更新接口文档与 schema;
在迭代总结中记录性能指标,例如 pageLoad、firstRender;
定期整理小程序插件、原生组件版本,避免因为工具链升级导致 API 弃用。
小程序开发的复杂度在于环境差异与审核流程。保持结构化的配置、自动化脚本与复盘清单,能显著降低“环境不一致”和“线上热修复”带来的焦虑。