高级 - PWA(渐进式网络应用程序Progressive web application)

// 为什么要使用
就发WebApp项目,项目一旦处于网络离线情况,就没法访问了

// 是什么
渐进式网络应用程序是一种可以提供类似于native app(原生应用程序)体验的Web App的技术
其中最重要的是在离线时应用程序能够继续运行功能
内部通过Service Workers技术实现的


// 安装
npm i workbox-webpack-plugin -D

// 配置
const WorkboxWebpackPlugin = require('workbox-webpack-plugin')

module.exports = {
    plugins: [
        new WorkboxWebpackPlugin({
            // 这些选项帮助快速启动 ServiceWorkers
            // 不允许遗留任何旧的 ServiceWorkers
            clientsClaim: true,
            skipWaiting: true,
        }),
    ]
}


// 在main.js内使用

if ("serviceWorker" in navigator) {
    window.addEventListener("load", () => {
        navigator.serviceWorker
        .register("/service-work.js")
        .then(registration => {
            // 注册成功
            console.log("SW registered: ", registration)
        })
        .catch(registrationError => {
            // 注册失败
            console.log("SW registration failed: ", registrationError);
        })
    })
}




// 注意,打包后会发现目录查找失败,需要继续安装
npm i serve -g

// 然后终端执行, 此时浏览器url就不会出现dist了
serve dist







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值