使用Fiddler提高前端工作效率 (實(shí)例篇)
在上一篇(介紹篇)中,我們對(duì)Fiddler Web Debugger有了簡(jiǎn)單的接觸,也許你已經(jīng)開(kāi)始在用Fiddler進(jìn)行HTTP相關(guān)的調(diào)試,在這一篇,我們將通過(guò)一個(gè)實(shí)例了解Fiddler的神奇魔法。
在我們前端開(kāi)發(fā)的日常工作中,發(fā)現(xiàn)服務(wù)器上某個(gè)css/javascript文件有問(wèn)題,需要修改,那真是家常便飯。通常,我們需要將文件進(jìn)行修改,然后重新發(fā)布再驗(yàn)證,這樣就很容易影響到生產(chǎn)環(huán)境的穩(wěn)定性。更普遍的做法是,我們?cè)陂_(kāi)發(fā)環(huán)境中修改文件并驗(yàn)證,然后發(fā)布到生產(chǎn)環(huán)境。雖然安全,卻比較繁瑣。而利用Fiddler的可以修改HTTP數(shù)據(jù)的特性,我們就非常敏捷地基于生產(chǎn)環(huán)境“修改——驗(yàn)證——發(fā)布”。
假設(shè)我們發(fā)現(xiàn)這個(gè)頁(yè)面有問(wèn)題,需要修改所引用的js文件(http://www.aliued.cn/wp-includes/js/comment-reply.js?ver=20090102)。
第一步:用Fiddler查看頁(yè)面的數(shù)據(jù)流列表,找到這個(gè)js文件的session
tip: 最好是沒(méi)有緩存的返回內(nèi)容(Result Code是200),這樣可以進(jìn)行下一步的保存。不是200也沒(méi)關(guān)系,你只要本地硬盤(pán)上有這個(gè)文件就好了。
第二步:將js文件保存到本地(如果本地已經(jīng)有這個(gè)文件,可以跳過(guò)這步)
在這個(gè)js session上右鍵點(diǎn)擊,選擇“Save – Response –Response Body…”,將js文件的內(nèi)容保存到本地。記住存的位置,下面我們會(huì)用到這個(gè)保存下來(lái)的文件。
第三步:開(kāi)啟Fiddler的請(qǐng)求自動(dòng)重定向功能
打開(kāi)AutoResponder標(biāo)簽設(shè)置。有沒(méi)有看到界面上有兩個(gè)復(fù)選框?第一個(gè)的作用是開(kāi)啟或禁用自動(dòng)重定向功能,我們就可以在下面添加重定向規(guī)則了。第二個(gè)復(fù)選框框勾上時(shí),不影響那些沒(méi)滿足我們處理?xiàng)l件的請(qǐng)求。
第四步:創(chuàng)建重定向規(guī)則,將目標(biāo)是這個(gè)js的HTTP請(qǐng)求重定向到本地文件
我們可以通過(guò)“Add…”按鈕手動(dòng)添加規(guī)則,不過(guò)這個(gè)URL已經(jīng)出現(xiàn)在我們的session列表中,可以直接拖動(dòng)過(guò)來(lái)。在左側(cè)的Session列表中選擇第一步找到的session,拖動(dòng)到AutoResponse標(biāo)簽中。這樣就創(chuàng)建了一個(gè)針對(duì)這個(gè)URL的規(guī)則。
Fiddler幫我們生成的規(guī)則是:
- 當(dāng)URL為:http://www.aliued.cn/wp-includes/js/comment-reply.js?ver=20090102
- 返回200,使用和Session 4一模一樣的內(nèi)容返回
我們需要修改這個(gè)規(guī)則,
選擇“Find a file…”,就可以選擇本地的文件作為返回的body內(nèi)容。
選擇我們剛剛保存下來(lái)的文件。
刷新一下瀏覽器頁(yè)面,看一下session列表,如果像下面這樣,這個(gè)session的底色是灰色的,那么恭喜你,你已經(jīng)成功將這個(gè)請(qǐng)求重定向到本地文件了!
tip: 如果瀏覽器用的是Firefox,記得先清一下臨時(shí)文件緩存,因?yàn)镕irefox是真正的緩存,當(dāng)判斷文件的緩存還未過(guò)期時(shí),就不會(huì)再發(fā)請(qǐng)求出來(lái),F(xiàn)iddler就獲取不到了。
第五步:修改本地文件,進(jìn)行測(cè)試
我們?cè)诒镜氐膉s文件中加一句alert(‘hello’)
刷新瀏覽器,看看效果,如果alert出來(lái),那就成功了。
繼續(xù)修改這個(gè)文件并測(cè)試,成功修復(fù)問(wèn)題后,我們就可以發(fā)布修改后的文件了。
小結(jié):自動(dòng)重定向功能是Fiddler最實(shí)用的功能,這里的Rule可以自由地設(shè)定,可以使用搜索(默認(rèn))、精確匹配(EXACT)、正則表達(dá)式匹配(REGEX)。處理方式可以選擇使用文件,也可以選擇合適的時(shí)間暫停數(shù)據(jù)流(*bpu、*bpafter),人工干預(yù)。通過(guò)以上幾個(gè)步驟,我們演示了怎樣將HTTP請(qǐng)求重定向到本地的文件,進(jìn)行web調(diào)試。這種調(diào)試方式不需要發(fā)布到線上再驗(yàn)證,避免了修改不成功、對(duì)用戶造成影響的風(fēng)險(xiǎn),而且不需要搭建復(fù)雜的開(kāi)發(fā)服務(wù)器等開(kāi)發(fā)環(huán)境,非常適合快速web調(diào)試。
延伸閱讀:
- Fiddler使用幫助
來(lái)源:http://www.aliued.cn/?p=2581
- 目前還沒(méi)評(píng)論,等你發(fā)揮!