V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lisisi
V2EX  ›  JavaScript

谷歌家 googleapis.com 抽的厉害,怎样才能在国内正常的调用 workbox 的功能呢?

  •  
  •   lisisi · 2019-03-27 17:44:12 +08:00 · 4085 次点击
    这是一个创建于 2067 天前的主题,其中的信息可能已经有所发展或是发生改变。

    外网访问很正常,国内不稳定时有时无,导致 service worker 依赖的 workbox 常常失效。怎样才能在国内正常使用 workbox 功能呢?( workbox-sw.js 的文件中还有依赖其他谷歌 api,单独下载 workbox-sw.js 到本地还是不行。)

    service-worker.js

    console.log('Hello from service-worker.js');
    
    importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js');
    
    if (workbox) {
      console.log("Yes! Workbox is loaded");
    
      workbox.precaching.precacheAndRoute([
        {
          "url": "/",
          "revision": "1"
        }
      ]);
    
      workbox.routing.registerRoute(
        /\.(?:js|css)$/,
        workbox.strategies.staleWhileRevalidate({
          cacheName: 'static-files',
        }),
      );
    
      workbox.routing.registerRoute(
        /\.(?:png|gif|jpg|jpeg|svg)$/,
        workbox.strategies.cacheFirst({
          cacheName: 'cache-images',
          plugins: [
            new workbox.expiration.Plugin({
              maxEntries: 60,
              maxAgeSeconds: 30 * 24 * 60 * 60, // 30 Days
            }),
          ],
        }),
      );
    
      workbox.routing.registerRoute(
        new RegExp('https://fonts.(?:googleapis|gstatic).com/(.*)'),
        workbox.strategies.cacheFirst({
          cacheName: 'googleapis',
          plugins: [
            new workbox.expiration.Plugin({
              maxEntries: 30,
            }),
          ],
        }),
      );
    } else {
      console.log("No! Workbox didn't load");
    }
    
    
    3 条回复    2019-03-27 23:03:27 +08:00
    outerws
        1
    outerws  
       2019-03-27 17:56:31 +08:00
    跳一次?
    johnnyNg
        2
    johnnyNg  
       2019-03-27 19:13:48 +08:00   ❤️ 1
    这个文章的最后提到了阿里 cdn,你可以替换一下
    http://taobaofed.org/blog/2018/08/08/workbox3/
    magicdawn
        3
    magicdawn  
       2019-03-27 23:03:27 +08:00 via iPhone   ❤️ 1
    https://github.com/magicdawn/magicdawn/blob/master/md/fe/service-worker/workbox/0.md#from-unpkgjsdelivrbaidu-等-npm-cdn

    自己研究的,从 jsdelivr npm cdn 加载,不喜欢 jsdelivr 可以改成 unpkg.com

    version 可以具体一点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2687 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:25 · PVG 20:25 · LAX 04:25 · JFK 07:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.