如何利用@angular/cli V6.0直接開發(fā)PWA應(yīng)用詳解
什么是PWA
PWA(Progressive Web App)利用TLS,webapp manifests和service workers使應(yīng)用程序能夠安裝并離線使用。 換句話說,PWA就像手機上的原生應(yīng)用程序,但它是使用諸如HTML5,JavaScript和CSS3之類的網(wǎng)絡(luò)技術(shù)構(gòu)建的。 如果構(gòu)建正確,PWA與原生應(yīng)用程序無法區(qū)分。
PWA 的主要特點包括下面三點:
- 可靠 - 即使在不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,也能瞬間加載并展現(xiàn)
- 體驗 - 快速響應(yīng),并且有平滑的動畫響應(yīng)用戶的操作
- 粘性 - 像設(shè)備上的原生應(yīng)用,具有沉浸式的用戶體驗,用戶可以添加到桌面
PWA 本身強調(diào)漸進式,并不要求一次性達到安全、性能和體驗上的所有要求,開發(fā)者可以通過 PWA Checklist 查看現(xiàn)有的特征。
Angular正式發(fā)布了V6.0,我們已經(jīng)可以利用對應(yīng)的@angular/cli V6.0來直接開發(fā)PWA應(yīng)用了。下面話不多說了,來一起看看詳細的介紹吧。
第一步:安裝@angular/cli V6.0
如果你機器上有老版本,請先卸載。
打開你的終端,執(zhí)行:
npm install -g @angular/cli
安裝成功之后用ng -v 查看一下版本號:

第二步:new一個空項目
執(zhí)行:
ng new test-ng-pwa
創(chuàng)建成功之后把項目起來看一下,執(zhí)行:
ng serve --open
瀏覽器里面看到這個界面說明一切OK:

第三步:添加PWA支持
把項目停掉,然后在終端里面執(zhí)行:
ng add @angular/pwa
效果如下:

因為@angular/cli內(nèi)置的Server在--prod 編譯的時候還不支持service-worker,所以上面裝了一個第三方的lite-server,它的官方文檔在這里:https://npmjs.com/package/lite-server ,請執(zhí)行:
npm install lite-server --save-dev npm install lite-server --global
裝完之后,執(zhí)行:
npx ng build --prod && lite-server --baseDir dist/test-ng-pwa
然后打開你的瀏覽器訪問3000端口,可以看到service-worker已經(jīng)起成功了:


這時候你已經(jīng)可以把應(yīng)用添加到桌面上了:

這是Windows上的效果:

Linux、iOS、Android、ChromeOS最新的版本都已經(jīng)全部支持,你自己去試試吧!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
angularjs select 賦值 ng-options配置方法
下面小編就為大家分享一篇angularjs select 賦值 ng-options配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
Angular 中使用 FineReport不顯示報表直接打印預(yù)覽
這篇文章主要介紹了Angular 中使用 FineReport不顯示報表直接打印預(yù)覽,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
關(guān)于Angularjs中跨域設(shè)置白名單問題
這篇文章主要介紹了Angularjs中關(guān)于跨域設(shè)置白名單問題,需要的朋友可以參考下2018-04-04
angularjs2中父子組件的數(shù)據(jù)傳遞的實例代碼
本篇文章主要介紹了angularjs2中父子組件的數(shù)據(jù)傳遞的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
indexedDB bootstrap angularjs之 MVC DOMO (應(yīng)用示例)
這篇文章主要介紹了indexedDB bootstrap angularjs之 MVC DOMO (應(yīng)用示例)的相關(guān)資料,需要的朋友可以參考下2016-06-06
AngularJs自定義服務(wù)之實現(xiàn)簽名和加密
AngularJS 是一個 JavaScript 框架,它可以通過 <script> 標簽添加到 HTML 頁面。這篇文章主要介紹了AngularJs自定義服務(wù)之實現(xiàn)簽名和加密的相關(guān)資料,需要的朋友可以參考下2016-08-08

