桌面端 PWA 应用: 移动端添加到桌面: 1 什么是 PWA PWA(Progressive Web App - 渐进式网页应用)是一种理念,由 Google Chrome 在 2015 年提出。...2.2 阿里速卖通(AliExpress) 访问地址:https://m.aliexpress.com/ PWA:使用 Google Workbox(CDN) 支持添加到桌面,manifest。...2.4 Instagram 左边原生应用,右边 PWA 访问地址:https://www.instagram.com/ PWA:使用 Google Workbox 支持添加到桌面,manifest。...{ CacheableResponsePlugin } from 'workbox-cacheable-response'; // Used to limit entries in cache, remove...entries after a certain period of time import { ExpirationPlugin } from 'workbox-expiration'; // Cache
桌面端 PWA 应用: [桌面端 PWA 应用] 移动端添加到桌面: [移动端添加到桌面] 1 什么是 PWA PWA(Progressive Web App - 渐进式网页应用)是一种理念,由 Google.../ PWA:使用 Google Workbox(CDN) 支持添加到桌面,manifest。...1701617949692-w-400.jpg] 访问地址:https://www.instagram.com/ PWA:使用 Google Workbox 支持添加到桌面,manifest。...{ CacheableResponsePlugin } from 'workbox-cacheable-response'; // Used to limit entries in cache, remove...entries after a certain period of time import { ExpirationPlugin } from 'workbox-expiration'; // Cache
PWA 系列(一)——Cache API PWA(Progressive web apps,渐进式 Web 应用)运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序。...PWA 主要用到了浏览器储存技术、Service Workers 技术、App Shell、Web Push API、以及一系列其他基础技术。...本系列文章将逐一介绍所使用到的这些技术 ☀️ 在 PWA 应用中,Cache 缓存 API 是关键技术之一,主要作用就是缓存相应和请求。...CACHE_VERSION = 1 const CACHE_NAME = 'DEMO' + CACHE_VERSION + cache = await caches.open(CACHE_NAME...Cache API 的主要操作基本是这样,下篇文章将继续介绍 PWA 的系列技术——Fetch 参考: https://developer.mozilla.org/zh-CN/docs/Web/API/
It’s recommended to use a browser incognito window to avoid complications with your browser cache....---- pwa.workboxOptions These options are passed on through to the underlying workbox-webpack-plugin...This option is used if you need to add a version to your icons and manifest, against browser’s cache...swSrc: 'dev/sw.js', // ...other Workbox options... } } } 在已创建的项目中安装 vue add pwa 注入webpack-chain...规则 config.plugin('workbox')
Progressive Web Apps (PWA) 的离线优先策略是通过Service Worker和Cache API实现的,它允许在没有网络连接时仍然可以访问网站的部分或全部内容。1....:importScripts('https://unpkg.com/workbox-sw@latest/runtime-caching/workbox-sw.prod.v2.js');importScripts...('https://unpkg.com/workbox-websocket@latest/workbox-websocket.prod.v2.js');workbox.webSocket.register...测试和监控确保在不同网络条件下测试你的PWA,包括2G、3G和离线状态。可以使用Chrome开发者工具的模拟网络条件功能。同时,使用Lighthouse等工具定期评估PWA的性能和离线体验。14....总结通过这些策略,可以创建一个高度可用且用户体验优秀的PWA,即使在离线或弱网络环境下也能正常工作。PWA的目标是提供接近原生应用的体验,因此持续优化和测试是关键。
registerType: 'autoUpdate' // 服务端检测到新的 SW 版本时自动更新 }) 也支持: prompt —— 手动提示用户更新 autoUpdate —— 后台自动更新 离线缓存(Cache...Assets) 可以自动缓存: 页面路由 静态资源(js/css/png) 自定义指定的文件 支持 Workbox 的所有缓存策略,比如: CacheFirst NetworkFirst StaleWhileRevalidate...高级玩法 workbox: { runtimeCaching: [ { urlPattern: ({ request }) => request.destination ==...= 'image', handler: 'CacheFirst', options: { cacheName: 'images-cache', expiration...}, }, }, ] } 离线提示页面(Offline Fallback) 当网络断开时,访问 404 或请求资源失败,可以跳到自定义离线页面: VitePWA({ workbox
通过配置服务器的 Cache-Control 头部,浏览器可以将字体文件缓存一定时间,避免重复下载。 步骤: 服务器配置:确保你的服务器配置了适当的 Cache-Control 头部。...例如,配置字体文件缓存一年: Cache-Control: max-age=31536000 这样一来,浏览器会将字体文件缓存 31536000 秒(即一年)。...步骤: 安装 Workbox:Workbox 是 Google 提供的一个工具库,简化了 Service Worker 的创建。...首先安装 workbox-webpack-plugin: npm install workbox-webpack-plugin --save-dev 配置 Workbox:在 vue.config.js...步骤: 安装 PWA 插件:在现有的 Vue 项目中添加 PWA 支持: vue add pwa 配置 PWA 缓存策略:在 vue.config.js 中添加 pwa 选项,配置字体文件的缓存策略:
/ PWA:使用 Google Workbox(CDN) 支持添加到桌面,manifest。...[1701617949692-w-400.jpg] 访问地址:https://www.instagram.com/ PWA:使用 Google Workbox 支持添加到桌面,manifest。...[twitter-pwa-offline-20210412-w-400.jpg] A.3 技术选型(Service Worker) A.3.1 使用 Google Workbox 构建 Service...{ CacheableResponsePlugin } from 'workbox-cacheable-response'; // Used to limit entries in cache, remove...entries after a certain period of time import { ExpirationPlugin } from 'workbox-expiration'; // Cache
vue & PWA 如果您的目的不是为现有的 vue 项目添加 PWA 支持,那么更推荐尝试 Lavas 注:PWA 应用要求必须全程 https,且在已安装的 PWA 应用中无法发送 http 请求...为已有项目添加 PWA 支持 1....安装 PWA 插件 如果你已经在使用@vue/cli,那么可以直接在可视化界面中安装 PWA 插件 否则,可以通过vue add @vue/pwa命令来安装 该插件会使用谷歌的 PWA 框架 Workbox...的强大所在,阅读这些内容会使你更好地了解如何配置以及具体能做什么: Workbox Routing Workbox Strategies Workbox Cache Expiration iconPaths...PWA 应用,以下列举目前我所知道的添加方式 Chrome 专有方式 对于 PC 或 Android 的 Chrome 浏览器都可以实现点击一个按钮来添加 PWA 应用,其原理是拦截了beforeinstallprompt
简介Workbox-webpack-plugin 是 Google 开发的用于渐进式 Web 应用(PWA)的插件,通过缓存静态资源及优化加载速度来提升用户体验。...工作模式workbox-webpack-plugin 提供了两种主要模式:GenerateSW:自动生成并管理 Service Worker 文件,适合快速集成 PWA 支持。...|jpeg|svg)$/, // 匹配图片资源 handler: 'CacheFirst', // 缓存优先策略 options: { cacheName: 'image-cache...\.example\.com\//, handler: 'NetworkFirst', options: { cacheName: 'api-cache...总结workbox-webpack-plugin 是实现渐进式 Web 应用的强大工具,帮助开发者快速集成 PWA 功能。
装配了PWA以后,用户可以将网站作为WEB APP安装到自己的设备上,以原生应用般的方式浏览博客,同时借助PWA的缓存机制,能够更快速的浏览。本文讨论的是使用两种方案实现PWA。...使用workbox:这个插件需要配合gulp插件,所以配置较为繁琐,好处是可以自定义适配弹窗提示,适合对前端有一定了解的用户。如果你还有使用pjax,恭喜你,BUG御三家马上就可以集齐了。 ?...gulp & workbox 在博客根目录[Blogroot]下打开终端,输入以下指令安装hexo-offline-popup插件。...这会导致PWA无法加载索引文件,也就是说无法从PWA加载index.html,最终影响离线观看博客的体验。 安装必要插件 既然要使用gulp配合workbox实现PWA,自然少不了安装这两个插件。...butterfly_v3.6.0取消了缓存配置,转为完全默认,需要将{cache:theme.fragment_cache}改为{cache: true}: 将之前生成的图标包移入相应的目录,例如我是/
引用 PWA 技术 PWA(Progressive Web App - 渐进式网页应用)是一种理念,由 Google Chrome 在 2015 年提出。...PWA 它不是特指某一项技术,而是应用多项技术来改善用户体验的 Web App,其核心技术包括 Web App Manifest、Service Worker、Web Push 等,用户体验才是 PWA...技术选型 使用 Google Workbox 构建 Service Worker 什么是 Workbox ?...{ CacheableResponsePlugin } from 'workbox-cacheable-response';// Used to limit entries in cache, remove...entries after a certain period of timeimport { ExpirationPlugin } from 'workbox-expiration'; // Cache
目前常见的缓存方式有http缓存、memory cache、disk cahce、localstorage、Service worker缓存等方式,本文介绍的Workbox就是实现Service worker...上图从深入理解浏览器缓存处参考 http缓存依赖于服务端配置,memory cache和disk cache缓存内容不可控,而且只缓存一些静态资源,push cache是临时缓存,localstorage...简介 Workbox 是 Google Chrome 团队推出的一套 PWA 的解决方案,这套解决方案当中包含了核心库和构建工具,因此我们可以利用 Workbox 实现 Service Worker 的快速开发...:png|jpg|jpeg|svg|gif)$/, new CacheFirst({ cacheName: 'my-image-cache', })); registerRoute...参考文献 Workbox官方文档 深入理解浏览器的缓存机制 PWA应用实践
这组文档和指南告诉您有关 PWA 的所有信息。 PWA 的优势 PWA 是可被发现、易安装、可链接、独立于网络、渐进式、可重用、响应性和安全的。关于这些含义的细节,请参阅 PWA的优势。...PWA插件 npm i hexo-pwa --save 修改博客根目录下配置文件(非主题配置文件) manifest 生成地址: Web App清单生成器,如无法打开直接复制我的即可 # hexo添加PWA.../3.3.0/workbox-sw.js'); if (workbox) { workbox.setConfig({ modulePathPrefix: 'https://g.alicdn.com.../kg/workbox/3.3.0/' }); workbox.precaching.precache(['/', '/index.html']); workbox.routing.registerRoute...$'), workbox.strategies.networkFirst()); workbox.routing.registerRoute(new RegExp('.*.html'), workbox.strategies.networkFirst
推荐阅读:https://lavas.baidu.com/pwa/README 可以了解一下什么是PWA 开始操作 注意:你的博客必须全站为HTTPS,这是使用PWA的基础条件 注意:你的博客必须全站为.../3.3.0/workbox-sw.js'); if (workbox) { workbox.setConfig({ modulePathPrefix: 'https://g.alicdn.com.../kg/workbox/3.3.0/' }); workbox.precaching.precache(['/', '/index.html']); workbox.routing.registerRoute...$'), workbox.strategies.networkFirst()); workbox.routing.registerRoute(new RegExp('.*.html'), workbox.strategies.networkFirst...()); workbox.routing.registerRoute(new RegExp('.*.(?
PWA 如何保证网页在离线时仍然能正常展示呢?...我们可以使用 workbox-webpack-plugin 插件: npm install --save-dev workbox-webpack-plugin // webpack.prod.js .....小结 本节只是简单介绍了如何利用 webpack 配置 PWA,引入了这样一个概念,更详细的 PWA 应用和配置,等有需要的时候可以详细了解。...参考 GitChat · 前端 | Webpack 工程的 PWA 实战 Workbox 3.0 – Web 站点轻松做到离线可访问 webpack 中使用 workbox 实现 PWA 2019...前端必会黑科技之PWA
PWA也运用了该文件,不同于manifest简单的将文件通过是否缓存进行分类,PWA用manifest构建了自己的APP骨架,并运用Servie Worker来控制缓存,这也是今天的主角。...workbox加载失败'); } 然后需要在使用其他的api前,提前使用配置 //关闭控制台中的输出 workbox.setConfig({ debug: false }); 也可以统一指定存储时cache...当资源内容和sw.js更新后,workbox会去比对资源,然后将新的资源存入cache,并修改indexedDB中的版本信息。...这个时候我们把main.css的内容改变后,再刷新页面,会发现除非强制刷新,否则workbox还是会读取cache中存在的老的main.css内容。...可以像如下方式使用 Cache First 策略: workbox.routing.registerRoute( new RegExp('https://edu-image\.nosdn\.127
PWA 进入稳定期 ? PWA 和 native app(移动应用)的核心区别在于以下几点: 安装:PWA 是一个不需要下载安装即可使用的应用。...通用本地存储的解决方案 Workbox Workbox 是 Google Chrome 团队推出的一套 Web App 静态资源和请求结果本地存储的解决方案,该解决方案包含一些 JS 库和构建工具,Workbox...背后则是 Service Worker 和 Cache API 等技术和标准在驱动。...在 Workbox 之前,Google Chrome 团队较早时间推出过 sw-precache 和 sw-toolbox 库,但骂声很多,直到 Workbox 才真正诞生了能方便统一的处理离线能力的更完美的方案...Workbox 现在已经发布到了 3.0 版本,不管你的站点是用何种方式构建的,它都可以为你的站点提供离线访问能力,几乎不用考虑太多的具体实现,只用做一些配置就可以。
PWA初次体验 前言:本示例不用安装任何东西 部分资源来自网络资源及PWA官网,不要把PWA想象的太复杂,跟着示例走一下,你行的。...importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.1.0/workbox-sw.js"); var cacheStorageKey...('install',e =>{ e.waitUntil( caches.open(cacheStorageKey) .then(cache => cache.addAll(cacheList...这说明了,我们拿到的数据还是从 Cache Storage 中获取到的,Cache Storage中的内容并没有更新,强制刷新也不行哦,那么我们怎么才能让我刚刚添加的那个 p 标签显示出来呢。...页面中出现了刚刚添加的P标签,我们再看一下 Cache Storage 中的缓存名字,已经被修改。
What Relationship Between ServiceWorker and PWA 很多人看到sw,第一反应是PWA,即渐进式Web应用。...实际上,SW确实是PWA的核心与灵魂,但SW在PWA中起的主要作用是缓存文件,提供给离线访问。并没有完整地发挥出SW的巧妙用法。...SW可以完全脱离PWA存在,当然,PWA可离不开SW :) And WorkBox ? WorkBox是谷歌开发的一款基于SW的缓存控制器,其主要目的是方便维护PWA。...核心依旧是SW,但还是没有SW原本的自定义程度高( Why Not WorkBox ? 首先,博客呢,是没有必要用PWA,有SW做中间件足矣。...同时,WorkBox只能简单的缓存数据,并不能做到拦截篡改请求的功能,尤其不能精准把握每一个资源的缓存情况,自定义程度并不高。