Vue項(xiàng)目引入PWA的步驟
Vue項(xiàng)目引入PWA很簡(jiǎn)單,操作步驟如下:
1. 安裝依賴
vue add @vue/pwa
由于使用add關(guān)鍵字,安裝成功后會(huì)在項(xiàng)目中創(chuàng)建一些文件,如果項(xiàng)目使用了git,可以很容易的看出文件變化:
src文件夾下會(huì)生成一個(gè)registerServiceWorker.js文件,并在main.js中導(dǎo)入,這個(gè)文件自動(dòng)生成了注冊(cè)service worker的代碼。registerServiceWorker.js的代碼如下:
import { register } from 'register-service-worker' if (process.env.NODE_ENV === 'production') { register(`${process.env.BASE_URL}service-worker.js`, { ready () { console.log( 'App is being served from cache by a service worker.\n' + 'For more details, visit https://goo.gl/AFskqB' ) }, registered () { console.log('Service worker has been registered.') }, cached () { console.log('Content has been cached for offline use.') }, updatefound () { console.log('New content is downloading.') }, updated () { console.log('New content is available; please refresh.') }, offline () { console.log('No internet connection found. App is running in offline mode.') }, error (error) { console.error('Error during service worker registration:', error) } }) }
2. 在vue.config.js文件中配置pwa:
module.exports = { pwa: { workboxOptions: { skipWaiting: true, clientsClaim: true, importWorkboxFrom: 'local', importsDirectory: 'js', navigateFallback: '/', navigateFallbackBlacklist: [/\/api\//] } } }
3. 手動(dòng)添加manifest.json文件到項(xiàng)目的public目錄下,manifest.json內(nèi)容如下:
{ "short_name": "應(yīng)用簡(jiǎn)稱", // 將來(lái)展示在手機(jī)桌面應(yīng)用圖標(biāo)下 "name": "應(yīng)用全稱", // 將來(lái)展示在電腦桌面應(yīng)用圖標(biāo)下 "icon": [ { "src": "./img/icons/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "./img/icons/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" } ], // 桌面圖標(biāo),是一個(gè)數(shù)組,注意圖片大小和格式 "start_url": "index.html", // 應(yīng)用啟動(dòng)時(shí)的url "display": "standalone", "background_color": "#080403", "theme_color": "#080403" }
display字段表示顯示模式,具體參數(shù)及描述如下:
顯示模式 | 描述 |
fullscreen | 全屏顯示, 所有可用的顯示區(qū)域都被使用, 并且不顯示狀態(tài)欄chrome。 |
standalone | 讓這個(gè)應(yīng)用看起來(lái)像一個(gè)獨(dú)立的應(yīng)用程序,包括具有不同的窗口,在應(yīng)用程序啟動(dòng)器中擁有自己的圖標(biāo)等。這個(gè)模式中,用戶代理將移除用于控制導(dǎo)航的UI元素,但是可以包括其他UI元素,例如狀態(tài)欄。 |
minimal-ui | 該應(yīng)用程序?qū)⒖雌饋?lái)像一個(gè)獨(dú)立的應(yīng)用程序,但會(huì)有瀏覽器地址欄, 樣式因?yàn)g覽器而異。 |
browser | 該應(yīng)用程序在傳統(tǒng)的瀏覽器標(biāo)簽或新窗口中打開(kāi),具體實(shí)現(xiàn)取決于瀏覽器和平臺(tái), 這是默認(rèn)的設(shè)置。 |
4. 在index.html文件中添加如下代碼:
<meta name="theme-color" content="#080403"> <link rel="manifest" href="manifest.json" rel="external nofollow" >
接下來(lái)就是見(jiàn)證奇跡的時(shí)刻,執(zhí)行npm run build,查看dist下的index.html文件中是否引入了manifest.json文件,再看看相應(yīng)的配置有沒(méi)有生成,如果有,恭喜你,第一個(gè)pwa項(xiàng)目完成了!
以上就是Vue項(xiàng)目引入PWA的步驟的詳細(xì)內(nèi)容,更多關(guān)于Vue項(xiàng)目引入PWA的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 超詳細(xì)動(dòng)手搭建一個(gè)VuePress 站點(diǎn)及開(kāi)啟PWA與自動(dòng)部署的方法
- vue引入Excel表格插件的方法
- Vue中引入svg圖標(biāo)的兩種方式
- Vue項(xiàng)目如何引入bootstrap、elementUI、echarts
- 如何在vue 中引入使用jquery
- Vue-cli4 配置 element-ui 按需引入操作
- vue 項(xiàng)目引入echarts 添加點(diǎn)擊事件操作
- vue-cli3 引入 font-awesome的操作
- vue頁(yè)面引入three.js實(shí)現(xiàn)3d動(dòng)畫(huà)場(chǎng)景操作
- 使用vue引入maptalks地圖及聚合效果的實(shí)現(xiàn)
- 淺談在vue-cli3項(xiàng)目中解決動(dòng)態(tài)引入圖片img404的問(wèn)題
相關(guān)文章
Vue讀取本地靜態(tài)文件json的2種方法以及優(yōu)缺點(diǎn)
這篇文章主要介紹了Vue讀取本地靜態(tài)文件json的2種方法以及優(yōu)缺點(diǎn)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09vue3實(shí)現(xiàn)H5表單驗(yàn)證組件的示例
本文主要介紹了vue3實(shí)現(xiàn)H5表單驗(yàn)證組件的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用實(shí)戰(zhàn)教程
這篇文章主要介紹了基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用,這次給大家主要分享的是基于electron最新版本整合vite4.x構(gòu)建vue3桌面端應(yīng)用程序,需要的朋友可以參考下2023-05-05使用async-validator編寫(xiě)Form組件的方法
本篇文章主要介紹了使用 async-validator 編寫(xiě) Form 組件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01vue報(bào)錯(cuò)"vue-cli-service‘不是內(nèi)部或外部命令,也不是...”的解決辦法
這篇文章主要介紹了vue報(bào)錯(cuò)"vue-cli-service‘不是內(nèi)部或外部命令,也不是...”的解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01關(guān)于vant折疊面板默認(rèn)展開(kāi)問(wèn)題
這篇文章主要介紹了關(guān)于vant折疊面板默認(rèn)展開(kāi)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04element-ui之解決select無(wú)法回顯的問(wèn)題
這篇文章主要介紹了element-ui之解決select無(wú)法回顯的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04實(shí)現(xiàn)一個(gè)Vue版Upload組件
這篇文章主要介紹了實(shí)現(xiàn)一個(gè)Vue版Upload組件,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08