返回

那些年我踩过的微信小程序坑

前端

随着跳一跳小游戏和头脑王者的洗脑式盛行,小程序似乎向广大用户宣布,它要发力了。公司内部也越来越多小程序的需求,所以本人也慢慢地开发了好几个小程序的项目。下面我把自己在开发的过程中遇到的一些坑记录一下,防止以后再踩坑。

在开发的过程中,在模拟器上表现得好好的,在真机上却出问题的…

微信真机调试远比模拟器难

微信开发者工具自带了一个模拟器,在这个模拟器上,你能够很流畅的去调试你的小程序。但是真机调试就不一样了,因为真机上有太多的不确定性。比如微信版本的不同,手机型号的不同等等,导致你在真机上经常能遇到各种各样的问题。

举个例子,我在开发一个小程序的时候,在模拟器上能流畅的运行,但是在真机上就出现了问题。这个问题就是,我在小程序中使用了 requestAnimationFrame 这个函数,这个函数会在浏览器中每秒钟调用一次,用来更新页面。但是在真机上,这个函数并不是每秒钟调用一次,而是不规律的调用。导致我的小程序在真机上运行的时候,页面会卡顿。

为了解决这个问题,我不得不在小程序中加入了一个定时器,每隔100毫秒调用一次 requestAnimationFrame 函数。这样就保证了小程序在真机上也能流畅的运行。

再比如说,我开发了一个小程序,在模拟器上能够正常运行,但是在真机上却出现了白屏的现象。经过排查,我发现是由于我在小程序中使用了 canvas 标签,而在真机上,canvas 标签还没有被支持。为了解决这个问题,我不得不将 canvas 标签替换成了 image 标签。

微信小程序的发布审核很严格

微信小程序的发布审核非常严格,稍微不注意就会被驳回。所以,在发布小程序之前,一定要仔细检查小程序中的代码,确保没有问题。

我曾经就因为没有仔细检查代码,导致小程序被驳回了。当时我开发了一个小程序,在提交审核的时候,忘记了在 package.json 文件中添加 appid 字段。导致小程序被驳回了。

所以,在发布小程序之前,一定要仔细检查小程序中的代码,确保没有问题。尤其是以下几个方面:

  • package.json 文件中是否填写了 appid 字段。
  • 小程序的代码是否符合微信小程序的开发规范。
  • 小程序的页面是否都设置了标题。
  • 小程序的图片资源是否都上传到了微信服务器。

微信小程序的更新很麻烦

微信小程序的更新非常麻烦,每次更新都需要重新提交审核。而且,审核的时间也不固定,有时候需要几天,有时候需要几个月。

所以,在更新小程序的时候,一定要提前做好准备。尤其是以下几个方面:

  • 仔细检查小程序中的代码,确保没有问题。
  • 小程序的代码是否符合微信小程序的开发规范。
  • 小程序的页面是否都设置了标题。
  • 小程序的图片资源是否都上传到了微信服务器。

做好这些准备之后,就可以提交小程序更新审核了。

总结

以上是我在开发微信小程序过程中踩过的坑。希望能够帮助其他开发者避免这些坑。

在开发微信小程序的时候,一定要注意以下几点:

  • 真机调试远比模拟器难,所以在开发的时候,一定要多在真机上调试。
  • 微信小程序的发布审核很严格,所以在发布小程序之前,一定要仔细检查小程序中的代码。
  • 微信小程序的更新很麻烦,所以在更新小程序的时候,一定要提前做好准备。