Workbox无法在localhost上运行,但可在127.0.0.1上运行

时间:2019-01-23 03:07:53

标签: service-worker progressive-web-apps workbox workbox-webpack-plugin

我用workbox-webpack-plugin创建了一个项目,当它在127.0.0.1:8080上运行时,请求加载了我的service-worker.js并且它正在工作,如下所示: enter image description here

但是当它在localhost:8080上运行时,请求不会加载我的service-worker.js,而只会加载manifest.json。 发生了什么?这正常吗?

workboxOptions: {
    importWorkboxFrom: 'local',
    clientsClaim: true,
    runtimeCaching: [
      {
        urlPattern: new RegExp('^http://localhost:8080/'),
        // Defaults to `networkFirst` if omitted
        handler: 'cacheFirst',
        options: {
          cacheName: 'my-app-cache',
          expiration: {
            maxEntries: 10,
            maxAgeSeconds: 300
          }
        }
      }
    ]
  }

1 个答案:

答案 0 :(得分:1)

使用Chrome开发人员工具检查控制台日志,以查找服务工作者的问题。它的重要性在于,服务工作者只能在https或环回ipv4地址(127.0.0.1)上运行。另外,请检查您的主机是否正在从本地主机解析127.0.0.1。