在webpack-dev-server

时间:2018-04-18 10:22:28

标签: reactjs webpack webpack-dev-server service-worker workbox

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

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

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

1 个答案:

答案 0 :(得分:0)

If it's having the SW run during development that is causing you problems, there a few options:

  1. You could use Chrome DevTools "Bypass for network feature" to skip the service worker.

    enter image description here

  2. Add an early return in your service worker that is stripped based on process.env.NODE_ENV or localhost origin.

  3. In your client code, register / unregister based on process.env.NODE_ENV or localhost origin.
  4. Otherwise, it might be worth raising an issue on github.com/googlechrome/workbox.