首先我报错的代码会导致我在开发者工具中无法登陆账号,
但是在体验版和真机调试都没有问题!
片段代码:
var cookies = require('./cookies.js')
已经在文件的顶部加载了,但是在开发者工具中会报错:
cookies.request is not a function;
这个是cookies.request是由登陆页面调用时报错的,
很诡异的是,我在另外一个内页的js
新建的一个js文件的,//var cookies = require('./cookies.js')注解掉了,就没有问题,可以登陆账号了
注意:这个内页没有相互嵌套登陆页面,完全独立的一个页面,互相没有任何影响.
又或者我在在报错这一行的上面加入
var cookies = require('./cookies.js')
也不报错了,也可以正常使用了
我的问题,是为什么真机一切正常,在小程序里却报错not a function,并且登陆不进去.
我也就是今天刚刚升级了工具后出现了这个诡异的bug,后来我还用另外一台计算Windows的也测试了,也有问题,当然她的开发者工具也是最新版本的.
报错信息如下:
thirdScriptError cookies.request is not a function ;at api request success callback function TypeError: cookies.request is not a function at Object.loginBySkey (http: //127.0.0.1:28522/appservice/modules/loginSession.js:74:13) at Object.success (http: //127.0.0.1:28522/appservice/pages/user/login.js:72:26) at success (http: //127.0.0.1:28522/appservice/vendor/wafer2-client-sdk/lib/login.js:96:22) at Function. function .e.(anonymous function ) (http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:673010) at http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:101864 at Qe (http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:270656) at Bt.<anonymous> (http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:403131) at Bt.emit (http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:305263) at Fi (http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:403639) at http: //127.0.0.1:28522/appservice/__dev__/WAService.js:1:404276 |
片段代码下载:
https://developers.weixin.qq.com/s/BNW6hjmv7f52
初步解决方案已找到:
发现可能是myOrderList.json自动生成了usingComponents的配置,删掉一切正常了.
但是开发者工具里的根本问题还是没有解决,因为同样的代码,真机调试不报错not a function,开发者工具却报错.
注解掉myOrderList.js的第二行cookies相关的代码,居然登陆页面就可以正常了.非常诡异!两个页面毫无任何关系
麻烦提供下代码片段:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
片段代码:
https://developers.weixin.qq.com/s/BNW6hjmv7f52
进入哪个页面会报这个错?
在登陆页面(login.js)的时候报错:cookies.request is not a function;
然后注解掉另外一个页面的myOrderList.js里的var cookies = require('./cookies.js')
居然就不报错了........,
值得注意的是:这两个页面是完全独立,毫无关系的.
居然能互相影响.......
今早发现自动生成的myOrderList.json文件中自带了
{
"usingComponents": {}
}
如果把usingComponents删掉,login页面也正常了
usingComponents是走的新的代码逻辑,性能会相对好点,在点击登陆分时候,这边会报错,测试不了: