【问题标题】:React/WordPress PWA does not respond with a 200 when offlineReact/WordPress PWA 在离线时不响应 200
【发布时间】:2019-04-09 19:59:56
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 如果我能提供任何其他信息,请告诉我。
  • 嘿!您找到任何解决方案了吗?我尝试做同样的事情但没有成功
  • 我终于解决了这个问题。我不得不将服务人员从主题文件夹移动到主 wordpress 文件夹。这是一个很好的解释:justmarkup.com/log/2016/01/add-service-worker-for-wordpress
  • 嗨@drazewski,感谢分享您的解决方案。不幸的是,我希望它全部打包在主题文件夹中,所以这对我没有帮助!

标签: wordpress reactjs service-worker progressive-web-apps workbox


【解决方案1】:

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

在 react 应用的 /src/serviceWorker.js 中传递 scope 选项。

// 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多