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