javascript - Service Worker 加载资源失败:net::ERR_INTERNET_DISCONNECTED

标签 javascript polymer service-worker sw-precache

我目前正在使用 Polymer + Service Worker 实现 PWA。

通常,Service Worker 工作正常。如果我运行我的应用程序,一切都很好。我可以看到 service worker 缓存中填充了图像、html 文件、字体等等。这一切都很好。即使离线,包含图像等的页面也会正确加载。

问题在于动态数据何时发挥作用。

我得到以下信息: enter image description here

只有在离线模式下,service worker 才会产生不多且不可调试的错误:“获取脚本时发生未知错误”

只有在离线模式下,控制台才会显示错误。 当然,我想要实现的是没有错误;在lighthouse我希望“离线时 URL 以 200 响应”为绿色/选中。

我的文件夹结构如下:

- images
- fonts
- data
-- portfolio
--- portfolio.json
--- portfolio.md
- src
- blog-app.html
- sw-precache-config.json

以下代码是我的polymer.json + sw-precache-config.json polymer .json:

{
  "entrypoint": "index.html",
  "shell": "src/jrblog-app.html",
  "fragments": [
    "src/portfolio-page.html",
    "src/contact-page.html",
    "src/404-page.html"
  ],
  "sourceGlobs": [
   "src/**/**/*",
   "data/**/*",
   "images/**/*",
   "style/*",
   "fonts/**/*",
   "bower.json"
  ],
  "includeDependencies": [
    "manifest.json",
    "bower_components/webcomponentsjs/webcomponents-lite.min.js"
  ]
}

sw-precache-config.json:

    module.exports = {

      cacheId: 'jrblog-app-v1',

      staticFileGlobs: [
    '/index.html',
    '/manifest.json',
    '/bower_components/webcomponentsjs/webcomponents-lite.min.js',
    '/images/*.*',
    '/fonts/**/*.*',
    '/style/*.css'
  ],
  navigateFallback: '/index.html',
  navigateFallbackWhitelist: [/^(?!.*\.html$|\/data\/).*/],
  runtimeCaching: [
    {
      urlPattern: /\/data\/*\/.*/,
      handler: 'fastest',
      options: {
        cache: {
          maxEntries: 100,
          name: 'data-cache'
        }
      }
    }
  ]
};

最佳答案

这些错误表明您当前处于离线状态并且无法从服务器获取资源。根据我的理解,这在技术上不是您应该担心的错误。您在线时不会看到这些错误。

只要您能够在离线时提供静态资源 Assets 。您和您的 Polymer 网络应用程序一切顺利!

关于javascript - Service Worker 加载资源失败:net::ERR_INTERNET_DISCONNECTED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41173235/

相关文章:

javascript - 在 React 中使用泛型键入 defaultProp 箭头函数方法

javascript - 可滚动的 highchart 在 JS 中工作,但在运行 Angular HighCharts 时遇到问题?

javascript - Polymer 的回调就绪停止加载我的组件

javascript - 如何在 JavaScript 中获取特定的日期时间格式

javascript - paper-dropdown-menu 在 lit-element 中不起作用

javascript - 如何将 getElementById(#canvas) 作为参数传递给 polymer 中的函数

javascript - Angular7:服务 worker 未按预期运行

javascript - IndexedDB 是否会持续使用新的服务 worker ?

javascript - 简单的 Vue.js 应用程序中存在大量未捕获( promise 中)的 DOMException 错误

javascript - 有没有办法从函数内定义的变量获取信息?