漸進(jìn)式網(wǎng)絡(luò)應(yīng)用程序(progressive web application - PWA),是一種可以提供類似于 native app(原生應(yīng)用程序) 體驗(yàn)的 web app(網(wǎng)絡(luò)應(yīng)用程序)。PWA 可以用來做很多事。其中最重要的是,在**離線(offline)**時(shí)應(yīng)用程序能夠繼續(xù)運(yùn)行功能。這是通過使用名為 Service Workers 的 web 技術(shù)來實(shí)現(xiàn)的。
本章將重點(diǎn)介紹,如何為我們的應(yīng)用程序添加離線體驗(yàn)。我們將使用名為 Workbox 的 Google 項(xiàng)目來實(shí)現(xiàn)此目的,該項(xiàng)目提供的工具可幫助我們更簡(jiǎn)單地為 web app 提供離線支持。
現(xiàn)在,我們并沒有運(yùn)行在離線環(huán)境下
到目前為止,我們一直是直接查看本地文件系統(tǒng)的輸出結(jié)果。通常情況下,真正的用戶是通過網(wǎng)絡(luò)訪問 web app;用戶的瀏覽器會(huì)與一個(gè)提供所需資源(例如,?.html?, ?.js? 和 ?.css? 文件)的 server 通訊。
如果你之前沒有操作過,先得運(yùn)行命令 npm run build 來構(gòu)建你的項(xiàng)目。然后運(yùn)行命令 npm start。應(yīng)該產(chǎn)生以下輸出:
> http-server dist
Starting up http-server, serving dist
Available on:
http://xx.x.x.x:8080
http://127.0.0.1:8080
http://xxx.xxx.x.x:8080
Hit CTRL-C to stop the server
現(xiàn)在來進(jìn)行測(cè)試。停止 server 并刷新頁面。如果瀏覽器能夠支持 Service Worker,應(yīng)該可以看到你的應(yīng)用程序還在正常運(yùn)行。然而,server 已經(jīng)停止 serve 整個(gè) dist 文件夾,此刻是 Service Worker 在進(jìn)行 serve。
結(jié)論
你已經(jīng)使用 Workbox 項(xiàng)目構(gòu)建了一個(gè)離線應(yīng)用程序。開始進(jìn)入將 web app 改造為 PWA 的旅程。你現(xiàn)在可能想要考慮下一步做什么。這里是可以幫助到你解決下一步問題的比較不錯(cuò)的資源。
更多建議: