我正在使用 sw-precache-webpack-plugin 为我的项目生成一个服务工作者,我可以在缓存存储中看到我所有的字体、js 和 css 文件,但看不到索引/html 文件,当我离线时它不起作用。当我尝试在应用程序清单上添加到主页时,我还会收到"无法安装站点:未检测到匹配的服务工作者"。
我的堆栈是一个通用的 React + redux 应用程序,索引文件带有 Express + ejs。我不确定是否是因为我使用的是 ejs 而不是默认的 html 文件,但它似乎找不到该文件。有没有办法指定模板?我的 sw-precache-webpack-plugin webpack 设置是:
new SWPrecacheWebpackPlugin({
cacheId: 'tester',
filename: 'my-service-worker.js',
directoryIndex: '/',
}),
任何建议将不胜感激
插件配置中缺少缓存策略的规范。
plugins: [
new SWPrecacheWebpackPlugin({
cacheId: 'tester',
filename: 'my-service-worker.js',
runtimeCaching: [
{
urlPattern: '/',
handler: 'cacheFirst',
}
]
})
]
文档:https://github.com/GoogleChrome/sw-precache#runtimecaching-arrayobject