如何使用CRA中的工作箱将垃圾JS文件添加到缓存-React / SW

时间:2020-11-10 18:02:01

标签: progressive-web-apps service-worker offline-caching workbox

我添加了一个自定义的SW文件,该文件将在构建后的最后一个SW文件中注入,并且在此文件中,我使用以下工作区配置来缓存文件,并且按预期工作正常,但是我正在寻找在访问它们之前添加由React Lazy创建的所有垃圾文件(每条路线的拆分代码),我的意思是获取所有js文件(带有动态垃圾名称,这使得手动列出它们以及每次更改都变得困难)在构建中)中并将其添加到缓存中。

workbox.routing.registerRoute(
   /\.(?:js|css|png|jpg|jpeg|svg)$/,
   new workbox.strategies.StaleWhileRevalidate({ // StaleWhileRevalidate get first from network and update cache, use cacher if network is not available; we can also use CacheFirst
      cacheName: "custom-assets-cache",
      plugins: [
         new workbox.expiration.Plugin({
            maxEntries: 2000,
            maxAgeSeconds: 7776000 // 3 months
         })
      ]
   })
);

如果我们可以访问Node的FS,那么就很容易了,以免列出文件名,但是如您所知,我们无法在前端访问FS。

0 个答案:

没有答案