问题标签 [sw-precache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
754 浏览

angular - 在 angular5 中使用 sw precache 时排除子站点 url

我可以在使用 sw precache 生成 service worker 时排除一些 url。下面是我的 swprecache.config.json

};

我尝试使用 not 运算符,例如 '!dist/Subscription/**.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,ico}'。但它不起作用。所以我导航到子站点时获取无法匹配任何路由错误。仅清除浏览器数据后,我可以导航到子站点。谁能帮我解决它,请找出我的错误在此处输入图像描述

谢谢

0 投票
1 回答
2733 浏览

progressive-web-apps - WorkboxSW 构造函数抛出错误未定义

在我的服务工作者文件中,我正在使用以下代码:

但我收到错误,Uncaught ReferenceError: WorkboxSW is not defined因此我的服务人员没有注册。

0 投票
1 回答
284 浏览

progressive-web-apps - 如何使用 Workbox 预缓存用户特定的内容?

我有一个会员网站,我想仅为登录用户创建缓存文件。怎么可能用Workbox呢?

解决方案:我发现workbox在这种情况下有一个非常好的功能。可以使用可缓存的响应。因此,我可以从服务器发送特定的标头值,如下所示:

在我的服务人员中,我可以像这样检查该标头值是否匹配:

因此,如果服务器将 X-Is-Cacheable 设置为 true(我true仅为登录用户设置),那么将为该用户缓存所有数据。

0 投票
0 回答
483 浏览

service-worker - create-react-app 的服务工作者不会忽略 url

我已经阅读了许多关于 create-react-app 的文档/问题,并试图让我的服务人员不提供特定的 url。

根据 create-react-app 的弹出版本中的评论

具体来说这个

// 忽略从 /__ 开始的 URL(对 Firebase 有用): // https://github.com/facebookincubator/create-react-app/issues/2237#issuecomment-302693219

然而,当我打localhost:3000/__, or localhost:3000/__auth or localhost:3000/__que

所有这些仍然击中我的 index.html。

如何让服务人员忽略 url?

0 投票
1 回答
713 浏览

angular - 具有角度通用的服务工作者和 sw 预缓存

我将 sw precache 与 service worker 一起使用。我只缓存了 service worker 中的浏览器文件夹。所以服务器端渲染在 service worker 中不起作用。任何人都可以帮我解决这个问题。如果 ssr 工作 service worker 不工作,反之亦然

下面是我的 sw precache config.json

谢谢

0 投票
1 回答
1398 浏览

reactjs - React Service Worker 将文件添加到缓存

基于 create-react-app 构建第一个 React 应用程序。它已经在生产版本中有一个 service-worker.js,但我需要手动添加几个 JavaScript(workers)文件。这些文件不包含在 HTML 中,并且 service worker 不会缓存它们。

将文件添加到服务工作者缓存列表的正确方法是什么?

0 投票
1 回答
549 浏览

reactjs - 在反应中使用 sw-precache 生成服务工作者的问题

我使用 create-react-app 创建了一个反应应用程序。然后我决定我需要根据需要编辑/更新服务人员代码。

我现在正在尝试使用 sw-precache 构建应用程序(因为它应该有助于构建自定义服务工作者并自动引用散列的静态文件)。

这是我在 'sw-precache-config.js' 中使用的配置 -

这是我的 package.json 中的构建命令 -

但是,构建后我面临两个问题 -

  1. 尽管我在配置文件中提到服务工作者名称应该是“serviceWorker.js”,但构建过程会生成两个服务工作者文件 -

    serviceWorker.js 和 service-worker.js

  2. 在生成的 serviceWorker.js(由构建脚本构建)中,预缓存中没有提到“index.html”文件(因此服务工作者没有按预期缓存 index.html)-

    var precacheConfig =
    [["static/css/main.d35a7300.chunk.css","5cf96316c6919194ba6eb48522a076f0"],["static/js/1.6105a37c.chunk.js","ae3537cefdcf8ee5758c3af13aab4568"],["static/js/main.4857c4da.chunk.js","9d6cc8fb962129f3e8bc459c85d39297"],["static/js/runtime~main.229c360f.js","3b44b5daad3fcbefa8b355dfbc3d9630"]];

如果我能澄清其他任何事情,请告诉我。

0 投票
1 回答
555 浏览

javascript - 如何使用服务工作者预缓存 django html 模板

我正在将我的 Django 项目转换为渐进式 Web 应用程序,并且我正在尝试预缓存我的文件,以便它们可以离线使用。我的问题是,我不知道如何找到我的模板(例如 homepage.html、index.html)以使用我的服务人员预缓存它们。我将我的服务人员放在静态文件夹中。

我当前的文件夹结构如下所示:

如何将我的主应用程序和 my_second_app 的 HTML 模板映射到静态文件夹内的 serviceWorker.js?提前感谢任何可以提供帮助的人。如果我做错了,请告诉我:)

无论如何,我已经成功地预缓存了静态文件。这是我的代码示例。

0 投票
1 回答
784 浏览

service-worker - 如何包含 sw-precache 未命中的文件

语境

我正在使用包裹在 sw-precache 周围的 parcel-plugin-sw-precache 以使其与 Parcel.js 一起使用。一切都按预期工作,我一直在测试我的离线应用程序。

问题

我将 react-pdf.js 添加到我的项目中,该库的依赖项之一在由 sw-precache 生成时不会添加到服务工作者中。我知道这一点,因为当我切换到离线模式时,文件“pdf.worker.entry.7ce4fb6a.js”会出现 304 错误。

我试过的

我正在尝试使用以下代码将文件手动添加到 package.json parcel-plugin-sw-precache 配置中:

我不确定文件路径是相对于 package.json 还是相对于生成的 service worker。无论如何,手动指定的文件不会像我期望的那样被添加来生成服务工作者。如下所示。

问题

如果 sw-precache 或 parcel-plugin-sw-precache 似乎缺少一些文件,我如何确保它们被添加到生成的 service worker 中?

0 投票
0 回答
149 浏览

reactjs - 使用 sw-precache 和 React 将文件保存在缓存中

有谁知道我如何使用 sw-precache 插件和 React 缓存我的 APP_SHELL 文件?

该应用程序是使用 cra 命令创建的,我已经设法阅读了我自己的 service-worker。对于构建和获取我的文件,我有以下配置:

但我不知道在哪部分表明我需要缓存我的 PWA 的 APP_SHELL。

我试图从我的自定义服务工作者那里做到这一点,但我无法正确注册文件,我已经尝试过这种方式:

但绝不会在缓存中注册文件,只有 index.html 和其他在从 chrome 控制台查看条件时具有与 index.html 相同的内容。

谢谢!