莫看江面平如镜,要看水底万丈深——记一次由表象引发的不是BUG的BUGjavascript
先上图
一位同窗碰到了这样一个问题:明明配置的请求地址是ip,为何变成域名了。java
上图,第一行是实际请求报错的接口,第二行才是打印出的真正配置的接口地址,因为项目上会根据项目环境,会切换接口地址,方便开发、测试、生产。个人第一反应就是切换地址的逻辑有问题。仔细跟了他写的代码,确实在接口请求前,地址是开发地址,但请求以后变成了生产地址。微信
本身折腾了半天,尝试了各类方案:微信开发
// 简化前 export default { dev: { DEV_URL: '' }, test: { TEST_URL: '' }, prod: { PROD_URL: '' } } // 简化后 export default { dev: '', test: '', prod: '' }
而后我又把锅甩给了微信开发者工具,哈哈工具
好吧,我须要冷静,程序不可能出这种难以想象的错误,回想了最后尝试的一种状况,本身明明把地址注释了,为何还能显示,而后又尝试全局搜索,仍是没发现这个地址……测试
撞鬼了……spa
冷静……调试
冷静……code
冷静……blog
我默默的打开了调试调试工具的network模块
我靠,301这不是重定向嘛,看了看详情,果然如此,原本我发送的求情开发库,结果被重定向到了生产环境了
表象迷惑了我,若是早点打开network就不会遇到这么多问题,最终仍是坚信有条理的代码,不会产生难以想象的bug。