
- Angular 8 教程
- Angular 8 - 首頁
- Angular 8 - 簡介
- Angular 8 - 安裝
- 建立第一個應用程式
- Angular 8 - 架構
- Angular 元件和模板
- Angular 8 - 資料繫結
- Angular 8 - 指令
- Angular 8 - 管道
- Angular 8 - 響應式程式設計
- 服務和依賴注入
- Angular 8 - Http 客戶端程式設計
- Angular 8 - Angular Material
- 路由和導航
- Angular 8 - 動畫
- Angular 8 - 表單
- Angular 8 - 表單驗證
- 身份驗證和授權
- Angular 8 - Web Workers
- Service Workers 和 PWA
- Angular 8 - 伺服器端渲染
- Angular 8 - 國際化 (i18n)
- Angular 8 - 可訪問性
- Angular 8 - CLI 命令
- Angular 8 - 測試
- Angular 8 - Ivy 編譯器
- Angular 8 - 使用 Bazel 構建
- Angular 8 - 向後相容性
- Angular 8 - 工作示例
- Angular 9 - 新特性?
- Angular 8 有用資源
- Angular 8 - 快速指南
- Angular 8 - 有用資源
- Angular 8 - 討論
Angular 8 - Service Workers 和 PWA
漸進式 Web 應用 (PWA) 是普通 Web 應用程式,具有一些增強功能,並且行為類似於原生應用程式。PWA 應用不依賴網路即可工作。PWA 會快取應用程式並從本地快取中渲染。它會定期檢查應用程式的即時版本,然後在後臺快取最新版本。
PWA 可以像原生應用程式一樣安裝到系統中,並且可以在桌面上顯示快捷方式。點選快捷方式將在瀏覽器中開啟應用程式,即使系統中沒有任何網路可用,它也會使用本地快取。
Angular 應用程式可以轉換為 PWA 應用程式。要轉換 Angular 應用程式,我們需要使用 Service Worker API。Service Worker 實際上是一個代理伺服器,位於瀏覽器、應用程式和網路之間。
Service Workers 與網頁是分開的。它無法訪問 DOM 物件。相反,Service Workers 透過PostMessage介面與網頁互動。
PWA 應用程式有兩個先決條件。如下所示:
瀏覽器支援 - 儘管很多瀏覽器都支援 PWA 應用,但 IE、Opera mini 和一些其他瀏覽器並不提供 PWA 支援。
HTTPS 傳輸 - 應用程式需要透過 HTTPS 協議傳輸。https 支援的一個例外是用於開發目的的localhost。
讓我們建立一個新應用程式並將其轉換為 PWA 應用程式。
使用以下命令建立一個新的 Angular 應用程式:
cd /go/to/workspace ng new pwa-sample
使用以下命令新增 PWA 支援:
cd pwa-sample ng add @angular/pwa --project pwa-sample
構建應用程式的生產版本:
ng build --prod
PWA 應用程式不會在 Angular 開發伺服器下執行。使用以下命令安裝一個簡單的 Web 伺服器:
npm install -g http-server
執行 Web 伺服器並將應用程式的生產構建設定為根資料夾。
f the application as root folder. http-server -p 8080 -c-1 dist/pwa-sample
開啟瀏覽器並輸入https://:8080。
現在,轉到開發者工具 -> 網路並選擇離線選項。
如果網路設定為離線,則普通應用程式將停止工作,但 PWA 應用程式可以正常工作,如下所示:
廣告