LightProxy官方電腦版是一款IFE團隊開發(fā)的一款基于Electron和whistle的開源桌面代理軟件,致力于讓前端開發(fā)人員能夠精確的掌握自己的開發(fā)環(huán)境,通過HTTP代理使用規(guī)則轉(zhuǎn)發(fā)、修改每一個請求和響應的內(nèi)容。
軟件說明
LightProxy可以自動完成證書安裝和代理設置,讓開發(fā)人員能夠精確的掌握自己的開發(fā)環(huán)境,通過 HTTP代理使用規(guī)則轉(zhuǎn)發(fā)、修改每一個請求和響應的內(nèi)容。
能幫你做什么?
抓包,包括無線場景抓包
實時 hosts 綁定
按規(guī)則轉(zhuǎn)發(fā)資源
mock 接口,頁面等
修改請求和響應內(nèi)容,例如在頁面中插入 script ,修改返回頭等
軟件特色
穩(wěn)定
好的開發(fā)環(huán)境首先應該是穩(wěn)定可用的,不應該在開發(fā)測試的過程中頻繁掛掉或者頻繁發(fā)生改變。
依賴于后端日常接口進行調(diào)試的前端對這點應該深有體會,自己的問題還沒解決,環(huán)境就時常帶來新的問題。
快速驗證
修改代碼能夠在盡可能短的時間內(nèi)得到驗證也是一個基本訴求,這也是為什么大部分前端構建都會關注 Hot reload 和更高級的 HMR 。
有些場景下的修改一次簡單的修改就要經(jīng)過長時間的等待,例如依賴上游修改接口的返回內(nèi)容,需要修改后端的頁面結構然后重新部署,需要走一遍完整的發(fā)布流程來測試某個修改在真實的線上頁面會產(chǎn)生的影響等等。
和線上的一致性
很多項目的線上環(huán)境極為復雜,為了解決日常開發(fā)中的問題,也會有一個線下的 DEMO 頁面,最后開發(fā)完再搬到線上。
這種方式相對來說較為穩(wěn)定且能快速驗證,但比較凸顯的問題在于和線上并不一致。開發(fā)中會存在很多 if-else 的邏輯,例如最常見的:
const API_BASE = utils.isDaily ? 'http://localhost:7001:': 'https://xxxx/';
這種情況也往往導致 Bug 非常難以被定位,最后逼著開發(fā)者退化到在線上環(huán)境低效的進行 debug。
確定性
開發(fā)者對于當前的環(huán)境應該是有確切認知的,而不是一直不停的懷疑自己的配置到底有沒有生效,命中的是不是又是緩存等等。
有些情況下我們利用 hosts 切換工具來進行聯(lián)調(diào),但在切完 hosts 后卻又不得不來回確認自己的切換是否生效,清楚 Chrome 的 DNS Cache,清楚 Socket 之類的。
這種非確定性不但提高了開發(fā)者心智負擔,而且也會導致 Bug 難以定位。