0

ワークボックスを使用して React プロジェクトの Service-Worker を構築しています。何が問題なのかわかりませんが、未定義のプロパティ 'CacheFirst' を読み取れないというエラーがコンソールに表示され続けます。

私がフェッチしているルートは、sqlite データベースを使用した nodejs バックエンドからのものです。返されるデータは、データベースにリストされている日付からのものです。それが何か関係があるのか​​ 、それとも単にワークボックスの問題なのかはわかりません。このファイルを更新するたびに、workbox injectManifestを実行し、次に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([]);
4

1 に答える 1

2

stategiesはつづりが間違っていますstrategies

于 2019-09-16T18:35:34.733 に答える