如何为生成的服务工作者禁用 workbox-webpack-plugin 的警告

How to disable warnings for workbox-webpack-plugin for generated service worker

我使用 GenerateSw class 作为我的工人一代。 它工作正常,但我需要为离线页面预缓存一些 webpack 未处理的资源,所以我使用:

additionalManifestEntries: [
    '/offline',
    'https://static.express/img/laksjhdaskldfjlaljsafsp/connection-lost.svg'
]

但我面临这个警告,即使 mode 属性 设置为 prod

问:我可以隐藏它们吗?

您可以通过切换到具有 url: 属性的对象和每个对象的 revision: null 属性来避免这些警告,以表明它们已经根据其 URL 进行了唯一修订。

additionalManifestEntries: [
  {url: '/offline', revision: null},
  {url: 'https://static.express/img/.../connection-lost.svg', revision: null},
]

但是...如果您这样做,并且您的 URL 实际上不包含任何唯一的修订信息,那么您的用户最终将“陷入”旧副本,例如 /offline 无限期,即使您对 /offline 进行更改并重新部署。这就是为什么 Workbox 让它“很难”做到这一点。

缓存其他 URL 的更好方法是设置一个运行时缓存路由,该路由将对它们使用特定策略,并可能使用 these techniques 来“预热”该策略缓存。例如,对这些 URL 使用 StaleWhileRevalidate 策略将确保它们最终得到更新。