標籤:

【SNF-A】Angular CLI 增加了 Service Worker 支持

類別

新增功能/Splendid New Feature

置信度

Announcement

起始時間

2017-02-09

更新(2017-04-12)

「ngsw-manifest.json 為 Web App Manifest」為錯誤內容,ngsw-manifest.json 是 @angular/service-worker 自身所使用的資源文件,並非 PWA 中使用的 Web App Manifest。

關於 ngsw-manifest.json 的說明可以參考:angular/mobile-toolkit,以及 ng-conf 中的介紹視頻:youtube.com/watch?

內容

自 1.0.0-beta.31 版本開始,@angular/cli 增加了對 Service Worker 的支持。

Angular CLI 的 .angular-cli.json 文件(舊版本為 angular-cli.json 文件)中增加了一個 serviceWorker 屬性,用於開啟對 Service Worker 的支持(替換原先曾經存在過但不久便被停止使用的 mobile 屬性)。

由於目前還無法通過 ng new 命令的參數來控制 Service Worker 支持,因此需要手動設置 .angular-cli.json 文件來開啟支持。在開啟 Service Worker 支持後,生產模式下構建的結果中就可以看到一個額外的 Chunk:

實際上,除此之外還增加了另外兩個文件:

其中,ngsw-manifest.json 為 Web App Manifest,用於定義應用中使用到的資源;sw-register.[hash].bundle.js 為 Service Worker 的註冊代碼;worker-basic.min.js 為使用 Service Worker 所運行的腳本。

通常,使用上述技術的應用也被稱為 Progress Web App,或簡稱 PWA。

相關鏈接

  • Angular CLI 增加 Service Worker 支持的 Commit:feat(aio): support @angular/service-worker using the CLI generated se… · angular/angular@920b3d2
  • Angular CLI 配置文件的 Schema:github.com/angular/angu
  • Web App Manifest 的 MDN 介紹:Web App Manifest
  • Service Worker 的 MDN 介紹:Service Worker API
  • PWA(Buzzword)的 Google 介紹:developers.google.com/w

推薦閱讀:

如何了解Angular(非Angular.js)的實現原理?
【SNF-O】Angular 增加了 AOT Online Editor 的支持

TAG:Angular? | PWA |