【问题标题】:Why am i getting an error saying CacheFirst is not defined?为什么我收到一条错误消息说 CacheFirst 未定义?
【发布时间】:2020-01-17 12:23:09
【问题描述】:

我正在使用工作箱为 React 项目构建服务工作者,我不确定出了什么问题,但我在控制台中不断收到错误提示 Cannot read property 'CacheFirst' of未定义。

我正在获取的路由来自带有 sqlite 数据库的 nodejs 后端,它返回的数据来自数据库中列出的日期。我不确定这是否与它有关,或者它只是一个 Workbox 问题。每次更新此文件后,我都会执行 workbox injectionManifest,然后使用 serve -s -p3000 build 进行服务浏览器中的应用程序。

importScripts(
  "https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"
);

if (workbox) {
  console.log(`Yay! Workbox is loaded ????`);
} else {
  console.log(`Boo! Workbox didn't load ????`);
}

let d = new Date();

let year = d.getFullYear();
let month = d.getMonth() + 1;
let day = d.getDate();

if (month < 10) {
  month = "0" + month;
}
if (day < 10) {
  day = "0" + day;
}

let today = `${year}-${month}-${day}`;

workbox.routing.registerRoute(
  new RegExp(`http://localhost:5000/routes/${today}`),
  new workbox.stategies.CacheFirst()
);


workbox.routing.registerRoute(
  /^https:\/\/fonts\.googleapis\.com/,
  new workbox.strategies.StaleWhileRevalidate({
    cacheName: "google-fonts-stylesheets"
  })
);


workbox.routing.registerRoute(
  /^https:\/\/fonts\.gstatic\.com/,
  new workbox.strategies.CacheFirst({
    cacheName: "google-fonts-webfonts",
    plugins: [
      new workbox.cacheableResponse.Plugin({
        statuses: [0, 200]
      }),
      new workbox.expiration.Plugin({
        maxAgeSeconds: 60 * 60 * 24 * 365,
        maxEntries: 30
      })
    ]
  })
);

workbox.precaching.precacheAndRoute([]);

【问题讨论】:

    标签: reactjs service-worker workbox workbox-webpack-plugin


    【解决方案1】:

    stategies 拼写错误,应该是strategies

    【讨论】:

    • 哈哈哈我不敢相信我错过了!我看了这个代码 100 遍。谢谢亚伯拉罕。
    猜你喜欢
    • 2011-08-07
    • 2015-09-18
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多