首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用React注册用于PWA中缓存的文件

使用React注册用于PWA中缓存的文件
EN

Stack Overflow用户
提问于 2018-11-21 04:32:48
回答 2查看 1.4K关注 0票数 4

有人知道他如何用React来缓存PWA的文件吗?

我正在与一个自定义服务工作者一起工作,我试图在脱机模式下注册运行应用程序所需的文件,但是无论我多么努力,我都做不到,因为服务器找不到它们。我试过这样做:

代码语言:javascript
复制
const cacheUrls = [
        '/',
    ];

self.addEventListener('install', event => {

    const promesaDeInstalacion = caches.open('cache-3') 
        .then( cache => { 
          return cache.addAll(
            cacheUrls
            );
    });

    event.waitUntil(promesaDeInstalacion);
});

其中cacheUrls是一个数组,我将在该数组中指示哪些文件将保存在缓存中。

为此,我也试过这样做:

代码语言:javascript
复制
const cacheUrls = [
    '/',
    'build/static/css/**.css',
    'build/static/js/**.js',
    'build/media/**.jpg'
];

同样从这一点来看:

代码语言:javascript
复制
const cacheUrls = [
    '/',
    '/index.html',
    '/static/css/',
    '/static/js/',
    '/static/media/',
];

但结果总是一样的。因此,我不知道如何缓存文件使我的PWA脱机。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-23 19:30:59

通过这种方式解决了将文件添加到缓存的问题:

代码语言:javascript
复制
const cacheUrls = [
"static/css/main.c16ed571.chunk.css",
"static/js/1.2dd891c4.chunk.js",
"static/js/main.182aaaa5.chunk.js",
"static/js/runtime~main.229c360f.js"
]
票数 2
EN

Stack Overflow用户

发布于 2018-11-21 08:19:20

试着像:

代码语言:javascript
复制
const cacheUrls = [
    '/',
    '/build/static/css/*.css',
    '/build/static/css/**/*.css',
    '/build/static/js/*.js',
    '/build/static/js/**/*.js',
    '/build/media/**/*.jpg',
    '/build/media/*.jpg'
];

其中,double asterix **用于子文件夹,对于任何以.fileextension结尾的文件,只有一个asterix *

不知道你要储存多少文件。在我的上面的例子中,您将匹配CSS direcotry中的所有CSS文件以及它的所有子目录。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53405297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档