说说微信小程序开发的那些坑
转载请注明来源和原作者,感谢您的阅读
微信小程序开发难,难于坑特别多
坑一:Content-type问题
坑指数:★★★★★
Paste_Image.png官网里面的示例代码中content-type是设置为'application/json'的,然而……!!!
Paste_Image.png无限黑人问号,怀疑过豆瓣的接口的问题,怀疑过网络问题,怀疑过人生......
但是原来是微信开发工具升级后(目前是0.12),请求的header的Content-type写法变了,要改成:
header: { content-type: 'json' }
这样就可以请求成功了!
p.s:这个问题在交流群遇到最多的提问,微信的文档害人不浅啊...
坑二:Promise库问题
坑指数:★★
相信很多前端开发人员都喜欢使用Promise,然而目前微信开发工具版本(0.12)不支持Promise,需要自己引用,Bluebird作为最受欢迎的Promise库之一,很多人都会使用它。
引入后本地开发没问题,十分顺利,iOS运行也可以,但是Android一打开就会显示‘发生未知错误’
如果是引入了Bluebird,安卓又提示这样的错误,那你需要做的就是换掉Bluebird,比较多人建议是的使用https://github.com/stefanpenner/es6-promise ,es6-promise-min只有6kb,下载后把原来的Bluebird替换即可。
坑二:Object.assign问题
坑指数:★★★
此坑一般在开发工具开发的时候不会展现,但是Android真机调试的时候问题就来了...
具体症状看你在哪里运用了,小的开发是在request的地方使用了,导致在Android机上数据显示不了(微信开发工具和iOS都正常),最后把Object.assign处理好就ok了
另外根据一些前辈谈及,使用es6会在Android上遇到各种奇奇怪怪的问题,如果遇上只在Android上的问题,可以怀疑是不是使用了什么es6特性。
tips:微信小程序最后的页面大部分都web页,所以一些Android在web上不支持的es6特性,在小程序里面也是有问题的,不过我们还是可以使用强大的babel进行转换。
以上是开发时候遇过的或者在交流群里面有人踩的坑,有问题欢迎大家讨论~