【问题标题】:service worker cache takes time to respond with latency服务工作者缓存需要时间来响应延迟
【发布时间】:2016-12-07 22:17:05
【问题描述】:

这是我第一次使用 service worker 来缓存一些东西。作为我 POC 的一部分,我正在尝试缓存资产,例如“js”、“css”、

我正在使用sw-toolbox

(function (global) {
  'use strict';

  // Ensure that our service worker takes control of the page as soon as possible.

  global.addEventListener('install', function (event) {
    return event.waitUntil(global.skipWaiting());
  });
  global.addEventListener('activate', function (event) {
    return event.waitUntil(global.clients.claim());
  });

  // The route for any requests from the googleapis origin
  toolbox.router.get('/(.*)', global.toolbox.cacheFirst, {
    cache: {
      name: 'modjs',
      maxEntries: 30,
      maxAgeSeconds: 86400
    },
    debug: true,
    origin: /\.abc\.com\:8044$/
  });
})(self);

我可以看到网络调用来自服务工作者,但它们仍然显示出一些延迟。

让我看看有什么问题?

【问题讨论】:

  • 另外,您可以在不使用cache: {} 选项(用于设置缓存过期)的情况下重试吗?它们的实现方式应该使它们处于将响应返回到页面的关键路径之外,但检查是一回事。

标签: javascript caching service-worker progressive-web-apps


【解决方案1】:

为了获得更好的页面呈现性能,请尝试将.css 文件链接到.js 文件之后。检查文件的顺序。还要确保用户有权访问脚本文件。该项目可能有他们的web.config 拒绝匿名用户的访问。

Uncaught ReferenceError 基本上意味着您正在尝试访问尚未定义的变量或函数。

更多详情,请查看此文档:https://developers.google.com/web/showcase/2015/service-workers-iowa#top_of_page

【讨论】:

  • 抱歉运行 sn-p 在这里造成混淆。我没有收到任何错误。我的查询与为什么即使我从服务人员那里提取资源也存在网络延迟有关。
猜你喜欢
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 2021-01-23
  • 2013-01-02
  • 2018-06-01
  • 2018-08-06
  • 1970-01-01
  • 2018-05-19
相关资源
最近更新 更多