React/WordPress PWA 在离线时不响应 200

IT技术 wordpress reactjs service-worker progressive-web-apps workbox
2021-05-11 01:16:12

我目前正在尝试使用 React/Redux 构建一个 WordPress 主题。除了离线时响应 200 之外,一切都按预期工作。

CRA (Create React App) 的 build 文件夹位于/wp-content/themes/pwa/build.

在线时,WordPress 会为所有路由加载 index.php。将从文件夹中注册.css这里一切都按预期工作。.jsbuild

我试图了解如何配置 CRA/WorkBox 以在离线时注册服务工作者/并使用文件夹index.html中的所有页面提供服务build

index.html 的完整网址: https://example.com/wp-content/themes/pwa/build/index.html

如果需要,我可以提供演示的链接。

1个回答

我终于在W3C 的帮助下解决了这个问题

在react应用程序中传递scope选项/src/serviceWorker.js

// navigator.serviceWorker.register(swUrl)
navigator.serviceWorker.register(swUrl, {scope: "/"})

配置 Apache 为已部署的 Service Worker 提供 Service-Worker-Allowed 标头。

<Files "service-worker.js">
    Header Set Service-Worker-Allowed "/"
</Files>