



小程序网络请求看似简单,但隐藏着不少坑:
并发请求限制:微信小程序**多允许10个网络请求并发,超过限制的请求会被阻塞。重要请求应考虑使用wx.request的abort方法取消非关键请求。
域名配置问题:必须在后台配置合法域名,且HTTPS是必须的。开发阶段可以在设置中勾选"不校验合法域名",但上线前必须配置正确。
缓存策略不当:频繁变动的数据不应缓存,而静态资源可以适当缓存。可以使用wx.setStorageSync配合时间戳实现智能缓存。
随着小程序复杂度增加,状态管理变得至关重要:
过度依赖全局变量:直接在app.js中定义全局变量虽然简单,但会导致难以追踪的状态变化和难以调试的问题。应考虑使用专门的状态管理方案。
缺乏状态同步机制:多个页面或组件共享状态时,一个地方修改后其他地方无法自动更新。可以采用观察者模式或类似Redux的单一数据源方案。
本地存储滥用:wx.setStorageSync虽然方便,但频繁读写大量数据会影响性能,且大小限制约10MB。应合理区分内存状态和持久化状态。
小程序性能问题往往在开发后期才被发现:
首屏加载慢:主要原因是主包体积过大或网络请求过多。优化措施包括:
启用分包加载
延迟加载非关键资源
使用骨架屏提升感知性能
预加载下一页数据
列表渲染卡顿:长列表应使用wx:for的wx:key属性提高复用效率,或使用虚拟列表技术只渲染可见项。
图片优化不足:大图片是性能杀手,应:
使用合适的尺寸而非CSS缩放
考虑使用WebP格式
实现懒加载