工作箱缓存排除了HTML

时间:2018-07-14 15:47:48

标签: webpack workbox workbox-webpack-plugin

如何使用Google Workbox(workbox-webpack-plugin)从服务工作者缓存中删除index.html? 以前我只是使用sw-precache-plugin

new SWPrecacheWebpackPlugin({
    dontCacheBustUrlsMatching: /\.\w{8}\./,
    filename: 'service-worker.js',
    minify: true,
    navigateFallback: '/index.html',
    staticFileGlobsIgnorePatterns: [/\.map$/, /asset-manifest\.json$/, /index\.html$/],
})

但不起作用

new GenerateSW({
    cacheId: 'my-app-name',
    importWorkboxFrom: 'local',
    skipWaiting: true,
    clientsClaim: true,
    navigateFallback: '/index.html',
    exclude: [/\.map$/, /^manifest.*\.js(?:on)?$/, /\.html$/],
}),

清单文件中不存在HTML文件,但每次都会从服务工作者获取。

1 个答案:

答案 0 :(得分:0)

您可以尝试两件事:

  1. 更新到最新的工作箱(我假设您不再需要dontCacheBustUrlsMatching
  2. 删除navigateFallback条目并检查其是否有效