跳转到内容
我的OPC之路
Go back

微信小程序开发避坑指南

项目初始化

选框架还是原生

如果你的小程序不复杂,建议直接用原生开发。原生的优势是文档全、性能好、没有框架层的额外问题。

如果需要同时发布多端(微信、支付宝、抖音),可以考虑 uni-app 或 Taro。但要做好心理准备——跨端框架会带来额外的兼容性问题。

TypeScript 支持

强烈建议从一开始就用 TypeScript。微信开发者工具原生支持 TS,在 project.config.json 中开启即可。类型检查能帮你在编译阶段就发现很多问题。

常见的坑

1. setData 性能

setData 是小程序最核心的API,也是最容易出性能问题的地方。

错误做法:

// 每次都传整个列表
this.setData({ list: this.data.list })

正确做法:

// 只更新变化的部分
this.setData({ [`list[${index}].name`]: newName })

原则:传输的数据量越小越好,频率越低越好。

2. 页面栈限制

小程序的页面栈最多10层。如果你的应用有很深的导航层级,用 wx.navigateTo 会导致页面栈溢出。

解决方案:

3. 分包加载

主包大小限制2MB,总包20MB。如果你的小程序功能较多,一定要做分包。

{
  "subpackages": [
    {
      "root": "pages/module-a",
      "pages": ["index", "detail"]
    }
  ]
}

把非首屏的页面放到分包里,能显著提升首次加载速度。

4. 授权流程变更

微信不断在收紧用户信息的获取权限。wx.getUserInfo 早就废弃了,现在要用 wx.getUserProfile,而且每次都需要用户主动点击触发。

建议:不要在启动时就要求授权,等用户真正需要的时候再引导。

5. 审核被拒

常见的审核被拒原因:

开发效率提升

小结

小程序开发门槛不高,但细节很多。提前了解这些坑,能帮你节省大量调试时间。


Share this post on:

Previous Post
欢迎来到我的OPC之路
Next Post
独立开发者的技术栈选择