收藏
评论

千万别用 console.assert 方法


自己被自己的小聪明坑惨了,因为小程序没有单元测试的方法,文档没提到,论坛里也没有搜到。


于是尝试用 `console.assert` 来写一些断言在小程序执行时调用,也可以达到效果,在开发者工具里都可以正常运行,完美!自我感觉还良好,于是等基本功能实现完后上传发布。


结果,在手机上,有时候正常显示,有时候无数据,一片白屏,一路追踪,很困难,因为在工具里一切都正常,于是只能一次次在手机上试,发现页面报了一个 warning:“

page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add page route in app.json.2. Invoking Page() in async task.

” 什么的,居然只是个警告,唉……明显一个页面数据的 js 加载不上应该报 error 嘛!


然后再查这个页面,怎么看也没觉得哪里错,后来发现是引用的 util.js 有错,开始以为是引用方法有问题,从 export 换成 module.exports 等都试了也都不行,最终试着注释了 `console.assert` 的语句,终于好了,确定了问题的根源原来是因为用了这个命令,但从开发者工具到手机上都没有错误任何提示,前前后后着实被坑了一整天时间!


感觉这应该也算是微信开发者工具或者小程序的一个 bug,应该要么支持 `console.assert`,要么就不支持报错,同时应该在文档中特别说明。

最后一次编辑于  2018-06-04  (未经腾讯允许,不得转载)
复制链接收藏赞 4

2 个评论

  • 常见
    常见
    2018-07-20

    大家好

    2018-07-20
    赞同
    回复
  • 王祥
    王祥
    03-22

    是的,目前小程序不支持console.assert,特别坑。做得还不如h5

    03-22
    赞同
    回复