微信小程序开发问题与解决方案手册


基础准备:项目结构与工具链

  • 工具版本对齐:微信开发者工具与基础库往往成对更新,升级前先记录当前版本,避免回退困难。
  • 工程目录建议
project/
├── miniprogram/ # 小程序主包
├── cloudfunctions/ # 云函数
├── config/ # 环境变量、接口地址
└── scripts/ # 构建脚本与 CI 配置
  • 多环境切换:利用 project.config.jsonenvVersion 字段区分 developtrialrelease,并在构建脚本中写入:
node scripts/sync-env.js --env trial

常见问题与处理策略

  1. 热更新失效或缓存脏数据
    • 打开开发者工具:设置 → 不校验合法域名 → 关闭“ES6 转 ES5”;清理数据后重新编译。
    • app.jsonLaunch 中添加版本号校验,触发 wx.clearStorageSync()
  2. 接口 415 或 502
    • 检查服务器是否在微信开放平台配置 request合法域名
    • 若使用云函数,确认超时时间与并发限制,必要时拆分函数或启用 scfAsync
  3. 页面白屏
    • 查看调试器 Network 面板是否有资源 404;
    • 使用 wx.onError 捕获运行时异常,上传至监控服务。
  4. 真机与开发工具表现不一致
    • 真机调试时开启“性能面板”观察 FPS 与内存;
    • 对复杂动画使用原生组件,如 wx.createSelectorQuery().selectViewport().scrollOffset() 结合 requestAnimationFrame

云开发与自动化部署

  • 云函数版本控制:在 Git 仓库中拆分云函数目录,每个函数单独维护 package.jsonREADME
  • 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
  • 在迭代总结中记录性能指标,例如 pageLoadfirstRender
  • 定期整理小程序插件、原生组件版本,避免因为工具链升级导致 API 弃用。

小程序开发的复杂度在于环境差异与审核流程。保持结构化的配置、自动化脚本与复盘清单,能显著降低“环境不一致”和“线上热修复”带来的焦虑。


Author: linda1729
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source linda1729 !
评论
  TOC