莫看江面平如鏡,要看水底萬丈深——記一次由表象引發的不是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。