代码之家  ›  专栏  ›  技术社区  ›  Jérôme

在Docker容器中对Webpack开发服务器使用service workers

  •  1
  • Jérôme  · 技术社区  · 6 年前

    我试图使用Webpack和Docker在web应用程序中使用服务人员。

    我现在做的一切都很好(服务人员、webpack配置、工作人员注册…)

    但现在我想能够使用webpack开发服务器和HMR与我的服务工作者。

    做我曾经做过的事 https://github.com/oliviertassinari/serviceworker-webpack-plugin 正确地引用了我的服务人员 manifest.json

    我使用 webpack-encore

    encore dev-server --hot --host 0.0.0.0 --port 8080
    

    要加载我的资源,浏览器会请求 0.0.0.0:8080 但我的工人是从 localhost:8000 因此请求失败,出现404错误,因为工作进程位于 0.0.0.0:8080/sw.js 相反 localhost:8080/sw.js .

    我知道服务人员只听他们的范围,对我来说 localhost:8000/* 但是webpack开发服务器是 0.0.0.0:8080 .

    这就是为什么我问,这是否有可能改变这种行为,使其工作,如果有人已经有这个问题。

    0 回复  |  直到 6 年前
        1
  •  0
  •   Beshoy Hanna    5 年前

    您需要从Docker容器中公开端口8000以及端口8080。您必须为不同端口上的多个web服务公开Docker容器中的多个端口。

    docker run -p 8080:8080 -p 8000:8000
    

    Official documentation