PWA

简介: PWA

Warning

官方文档PWA 功能只支持最基本的离线缓存,同时还会带来内容更新不及时的问题,本笔记并没有基于此,而是基于workbox自主实现的。


workbox配置

安装 workbox-cli 包:

$ pnpm add -D workbox-cli点击复制复制失败已复制


在项目根目录下新建 workbox-config.js 文件,写入如下内容:

module.exports = {
    globDirectory: 'docs/',
    globPatterns: [
        '**/*.{md,js,ico,html,jpg,css}'
    ],
    swDest: 'docs/sw.js',
    ignoreURLParametersMatching: [
        /^utm_/,
        /^fbclid$/
    ],
    skipWaiting: true,
    clientsClaim: true
};点击复制复制失败已复制


ServiceWorker配置

新建 docs/registerServiceWorker.js 文件,写入如下内容:

register(`/sw.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.');
        window.location.reload(); // serviceWorker缓存更新时刷新页面
    },
    offline() {
        console.log('No internet connection found. App is running in offline mode.');
    },
    error(error) {
        console.error('Error during service worker registration:', error);
    }
});点击复制复制失败已复制


接下来在 index.html 文件中引入:

<script src="./registerServiceWorker.js"></script>点击复制复制失败已复制


package.json配置

修改 package.json 的启动配置:

{
  "scripts": {
    "start": "node index.js && workbox generateSW workbox-config.js && docsify serve docs",
    "build": "node index.js && workbox generateSW workbox-config.js"
  }
}点击复制复制失败已复制


.gitignore配置

由于 workbox 会生成 ServiceWorker 的一些文件,所以需要将自动生成的文件写入到 .gitignore 配置中

# workbox 自动生成文件
docs/sw.js
docs/sw.js.map
docs/workbox-*
目录
相关文章
|
iOS开发 MacOS Python
在Mac 上搭建Pygame开发环境(含安装错误的解决办法)
在Mac 上搭建Pygame开发环境(含安装错误的解决办法)
1230 0
|
9月前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
机器学习/深度学习 算法 数据可视化
【Python机器学习】SVM解决非线性问题和信用卡欺诈检测实战(附源码和数据集)
【Python机器学习】SVM解决非线性问题和信用卡欺诈检测实战(附源码和数据集)
555 2
|
11月前
|
人工智能 安全 物联网
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
|
11月前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
352 7
|
12月前
|
人工智能 分布式计算 大数据
大数据&AI产品月刊【2024年9月】
大数据& AI 产品技术月刊【2024年9月】,涵盖本月技术速递、2024云栖大会实录、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
弹性计算 固态存储 大数据
阿里云服务器多少钱一年?2024年阿里云服务器价格表曝光!
2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年82元,折合6.8元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器298元一年,2核4G服务器30元3个月,4核16G10M服务器26元1个月、149元半年,8核32G服务器90元1个月、271元3个月,阿小云整理阿里云服务器租用费用价格表,包括一年优惠价格、一个月和1小时收费明细表
1153 3
|
人工智能 开发者
AI助理市场伙伴招募计划
成为钉钉AI助理市场合作伙伴,赋能千行百业,共创共赢新里程
|
存储 缓存
uniapp存值和取值方法
uniapp存值和取值方法
392 0
|
jstorm 消息中间件 存储
mPaaS云平台运维系列之—移动分析产品介绍
移动分析服务(Mobile Analysis Service,简称 MAS)是 mPaaS 平台的一个核心基础服务组件,是一项方便您轻松地大规模收集、可视化并理解应用程序使用数据的服务。MAS 通过统计和分析客户端流量、性能质量和用户行为等数据,用数据实现产品、运营、推广的决策;通过对闪退的分析,快速定位闪退原因,提高程序稳定性。
1584 0
mPaaS云平台运维系列之—移动分析产品介绍