离线访问--PWA渐进式网络应用程序

PWA渐进式网络应用程序,是一种可以提供类似于native app(原生应用程序)体验的web app(网络应用程序)

就是离线可访问

需要使用workbox --> workbox-webpack-plugin

安装 workbox-webpack-plugin -D

sw代码必须运行在服务器上

-->要么使用 nodejs 启动服务器

-->或者使用 npm i serve -g

serve -s build 启动服务器,将build目录下左右资源作为静态资源暴露出去

const WorkboxWebpackPlugin = require('workbox-webpack-plugin');
module.exprots={
    ...,
    plugins:[
        ...,
        new WorkboxWebpackPlugin.GenerateSW({
            /*
                1.帮助serviceworker快速启动
                2.删除旧的serviceworke
                
                生成一个servicework 配置文件(需要在入口文件中注册)
            */
            clientsClaim:true,
            skipWaiting:true        
        })  
    ]  
}

需要到 入口文件中 注册servicework

//注册servicework
//处理兼容性问题
if('serviceWorker' in navigator){
    window.addEventListener('load'),()=>{
        navigator.serviceWorker
        .register('/service-worker.js')
        .then(()=>console.log('SW注册成功'))
        .catch(()=>console.log('注册失败'))    
    })    
}

编译时eslint不认识 navigtor,window等全局变量

解决:需要改package.json中的eslintConfig配置

{
    ...,
    "eslintConfig":{
        "extends": "airbnb-base"
        "evn":{
            "browser": true //支持浏览器端全局变量
        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vite-plugin-pwa是一个vite的官方插件,它可以通过简单的配置将你的vite项目转变成一个PWA(Progressive Web App)应用。它使用谷歌开源库workbox来实现service worker的功能,并为缓存做了大量的逻辑代码处理,同时还支持多种不同的缓存策略。此外,vite-plugin-pwa还提供了更新sw.js文件的策略,并且它的配置非常简单。使用vite-plugin-pwa可以使你的应用具备离线访问、消息推送等PWA的特性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vite-plugin-pwa:Vite的零配置PWA](https://download.csdn.net/download/weixin_42115074/15088884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vite-plugin-pwa配置详解](https://blog.csdn.net/YMX2020/article/details/130882745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vite pwa项目使用](https://blog.csdn.net/qq_40055200/article/details/130857483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值