当laravel上的pwa处于活动状态时,我的应用程序无法更新缓存

问题描述 投票:0回答:1

我正在使用PWA开发应用程序,但是当我在数据库中更新主URL中的某些内容时,似乎没有发生任何变化,我必须清除服务工作者中的缓存,而在移动设备中,最终用户可能不必先清除缓存即可使用该应用程序。 ,我的问题有解决方案吗?

[我做了几种选择,例如屏蔽URL以免缓存服务工作者,但我知道效率不高

这是我的服务工作者文件

importScripts('https://storage.googleapis.com/workboxcdn/releases/4.3.1/workbox-sw.js');
if (workbox) {


    workbox.setConfig({
        debug: true
    });
    // top-level routes we want to precache
    workbox.precaching.precacheAndRoute(['/123', '/123']);

    // injected assets by Workbox CLI
    workbox.precaching.precacheAndRoute([

    //my precache data is here
    ]);

    // match routes for homepage, blog and any sub-pages of blog
    workbox.routing.registerRoute(
        /^\/(?:()?(\/.*)?)$/,
        new workbox.strategies.NetworkFirst({
            cacheName: 'static-resources',
        })
    );

    // js/css files
    workbox.routing.registerRoute(
        /\.(?:js|css)$/,
        new workbox.strategies.NetworkFirst({
            cacheName: 'static-resources',
        })
    );

    // images
    workbox.routing.registerRoute(
        // Cache image files.
        /\.(?:png|jpg|jpeg|svg|gif)$/,
        // Use the cache if it's available.
        new workbox.strategies.NetworkFirst({
            // Use a custom cache name.
            cacheName: 'image-cache',
            plugins: [
                new workbox.expiration.Plugin({
                    // Cache upto 50 images.
                    maxEntries: 50,
                    // Cache for a maximum of a week.
                    maxAgeSeconds: 7 * 24 * 60 * 60,
                })
            ],
        })
    );
}
progressive-web-apps workbox
1个回答
0
投票

当您将更新发布到服务器时,我的服务工作者没有看到任何使缓存数据/响应无效的逻辑。您将不得不将该逻辑添加到您的提取处理程序中。

FYI工作箱默认情况下不包括该文件夹,您必须为此创建自己的逻辑。 Workbox仅具有一些常用的缓存策略。它不能为每个站点的自定义缓存方案提供模块。这就是该工具可扩展的原因。

© www.soinside.com 2019 - 2024. All rights reserved.