2

我刚刚实现了 Google的工作工具来处理服务工作者的创建。

WorkboxPlugin.InjectManifest()在我的 webpack 配置中使用很简单,并且 service worker 在构建中很好地注册。然而,在 Dev 期间拥有 service worker 变得有点痛苦,我希望能够在开发模式和 webpack-dev-server 中使用 webpack 时否定正在构建的 service worker,似乎是通过一些条件构建规则。

我在网上看到了一些关于 webpacks 的建议,NormalModuleReplacementPlugin但是稍微阅读了一下,我找不到在这种情况下使用它的任何示例。我想知道是否有人遇到过同样的问题以及他们的解决方案是什么?

4

1 回答 1

2

如果在开发过程中运行 SW 导致您出现问题,则有以下几种选择:

  1. 您可以使用 Chrome DevTools “绕过网络功能”来跳过服务人员。

    在此处输入图像描述

  2. 在基于 process.env.NODE_ENV 或 localhost origin 剥离的 service worker 中添加提前返回。

  3. 在您的客户端代码中,根据 process.env.NODE_ENV 或 localhost 来源注册/取消注册。
  4. 否则,可能值得在github.com/googlechrome/workbox上提出问题。
于 2018-04-18T18:00:45.627 回答