【PWA學(xué)習(xí)與實(shí)踐】(6) 在Chrome中調(diào)試你的PWA

本文是《PWA學(xué)習(xí)與實(shí)踐》系列的第六篇文章床估。

PWA作為今年最火熱的技術(shù)概念之一,對提升Web應(yīng)用的安全谈况、性能和體驗(yàn)有著很大的意義递胧,非常值得我們?nèi)チ私馀c學(xué)習(xí)。

本系列文章《PWA學(xué)習(xí)與實(shí)踐》會逐步拆解PWA背后的各項(xiàng)技術(shù)祝闻,通過實(shí)例代碼來講解這些技術(shù)的應(yīng)用方式。也正是因?yàn)镻WA中技術(shù)點(diǎn)眾多华蜒、知識細(xì)碎豁遭,因此我在學(xué)習(xí)過程中,進(jìn)行了整理捂蕴,并產(chǎn)出了《PWA學(xué)習(xí)與實(shí)踐》系列文章闪幽,希望能帶大家全面了解PWA中的各項(xiàng)技術(shù)。對PWA感興趣的朋友歡迎關(guān)注盯腌。

前幾篇文章介紹了PWA中的一些功能與背后的技術(shù)。工欲善其事着倾,必先利其器燕少。這一篇會介紹如何調(diào)試我們的PWA。

對之前的文章感興趣的話崇决,可以從這里找到:

Service Worker

新版的chrome調(diào)試工具中集成了Service Worker調(diào)試工具沸手。

開啟chrome調(diào)試工具注簿,選擇Application選項(xiàng)卡。在左側(cè)的列表選擇Application --> Service Worker诡渴,就會顯示當(dāng)前站點(diǎn)下的Service Worker。

在Service Worker下有三個(gè)復(fù)選框:

  • Offline:切換為無網(wǎng)環(huán)境山上。通過勾選可以方便查看應(yīng)用在無網(wǎng)環(huán)境中的表現(xiàn)英支。
  • Update on reload:每次reload都更新Service Worker。一般來說,當(dāng)訪問站點(diǎn)發(fā)現(xiàn)Service Worker有更新后澈吨,為了保證本次訪問,不會立即激活新的Service Worker修赞,只會在安裝后進(jìn)入等待狀態(tài)桑阶,在下一次訪問時(shí)激活。勾選該選項(xiàng)就可以使每次Reload后都重新安裝與激活Service Worker割择。
  • Bypass for network:使用網(wǎng)絡(luò)請求萎河。我們知道Service Worker可以攔截客戶端請求,勾選該選項(xiàng)后所有請求都會直接走網(wǎng)絡(luò)請求玛歌。

面板右上角的Upadte按鈕可以手動(dòng)觸發(fā)Service Worker的更新擎椰;而Unregister類似于代碼中的unregister,用于注銷當(dāng)前的Service Worker值朋。

從下方“Service workers from other domain”中休弃,可以查看在這個(gè)client上所有注冊過的Service Worker:

image

Service Worker主面板區(qū)域包括了:Source、Status篙骡、Clients、Push和Sync五個(gè)項(xiàng)目尿褪。

  • Source:展示了當(dāng)前注冊所使用的Service Worker腳本(sw.js)杖玲,點(diǎn)擊可以查看腳本內(nèi)容淘正。同時(shí)還展示了該Service Worker的安裝時(shí)間。
  • Status:展示Service Worker所處的生命周期鸿吆。通過點(diǎn)擊stop按鈕可以暫停該Service Worker。其中蕉毯,#1201表示Service Worker的版本思犁,當(dāng)sw.js文件未更改時(shí),reload站點(diǎn)該數(shù)字是不會增加的棉磨;但是當(dāng)勾選Update on reload后托呕,由于每次reload都會觸發(fā)Service Worker重新安裝,因此該數(shù)字會增加馅扣。
  • Clients:顯示了當(dāng)前Service Worker所作用的root。focus按鈕用來幫你快速切換到該Service Worker對應(yīng)的tab(當(dāng)你打開多個(gè)站點(diǎn)的tab時(shí)差油,點(diǎn)擊可以快速切換)蓄喇。
  • Push:用來模擬進(jìn)行推送。
  • Sync:用來模擬進(jìn)行后臺同步妆偏。

在Service Worker中console.log的信息也會顯示在Console中盅弛。此外叔锐,由于默認(rèn)情況下愉烙,reload頁面會清空console解取,為了保存一些日志信息,可以打開Preserve log來保留Console信息蔓肯。

Manifest

在Application中振乏,點(diǎn)擊Manifest即可看到當(dāng)前應(yīng)用所使用的Manifest配置:

同樣昆码,點(diǎn)擊manifest.json出鏈接可以查看manifest文件赋咽。點(diǎn)擊“Add to homescreen”可以把應(yīng)用添加到桌面。除了點(diǎn)擊“Add to homescreen”脓匿,也可以使用chrome中的添加到應(yīng)用文件夾宦赠。

Cache

除了Service Worker與Manifest勾扭,在我們的WebApp中還用到了Cache。在Application中也支持查看Cache:在Cache列表的Cache Storage中查看妙色。

其中bs-0-2-0和api-0-1-1就是我們的“圖書搜索”Web App所創(chuàng)建與使用的兩個(gè)cache身辨。在bs-0-2-0中緩存了包括頁面、js号俐、css定庵、圖片在內(nèi)的一些靜態(tài)資源踪危;在而api-0-1-1中則緩存了圖書檢索的XHR請求找岖。

如果想刪除某些cache许布,可以右鍵點(diǎn)擊,然后選擇Delete蜜唾;也可以點(diǎn)擊上方的×。除了在這里清除cache擎勘,還可以在Application下的Clear Storage中清除包括Service Worker颖榜、Cache與Storage(cookie/localstorage/IndexedDB……)等數(shù)據(jù)。

寫在最后

如果你喜歡或想要了解更多的PWA相關(guān)知識噪漾,歡迎關(guān)注我且蓬,關(guān)注《PWA學(xué)習(xí)與實(shí)踐》系列文章。我會總結(jié)整理自己學(xué)習(xí)PWA過程的遇到的疑問與技術(shù)點(diǎn)诈胜,并通過實(shí)際代碼和大家一起實(shí)踐冯事。

在下一篇文章里,我們會繼續(xù)了解另一個(gè)經(jīng)常與Push API組合在一起的功能——消息提醒昵仅,Notification API。

《PWA學(xué)習(xí)與實(shí)踐》系列

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晚伙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子咆疗,更是在濱河造成了極大的恐慌母债,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迅皇,死亡現(xiàn)場離奇詭異登颓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)框咙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門扁耐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事块仆。” “怎么了悔据?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵科汗,是天一觀的道長。 經(jīng)常有香客問我怖亭,道長坤检,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任倾芝,我火速辦了婚禮,結(jié)果婚禮上晨另,老公的妹妹穿的比我還像新娘。我一直安慰自己借尿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布割捅。 她就那樣靜靜地躺著亿驾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪莫瞬。 梳的紋絲不亂的頭發(fā)上郭蕉,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天召锈,我揣著相機(jī)與錄音,去河邊找鬼涨岁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹬铺,可吹牛的內(nèi)容都是我干的秉撇。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼规阀,長吁一口氣:“原來是場噩夢啊……” “哼瘦麸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瞎暑,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墨榄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袄秩,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡之剧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贰军。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟹肘。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贰盗,靈堂內(nèi)的尸體忽然破棺而出阳欲,到底是詐尸還是另有隱情,我是刑警寧澤球化,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布赊窥,位于F島的核電站狸页,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏芍耘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一倔约、第九天 我趴在偏房一處隱蔽的房頂上張望坝初。 院中可真熱鬧钾军,春花似錦绢要、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呼胚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間琢融,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工漾抬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纳令,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓平绩,卻偏偏與公主長得像漠另,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子性湿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容