sw-precache-webpack-plugin webpack service worker 默认模板
sw-precache-webpack-plugin webpack service worker default template
我正在使用 sw-precache-webpack-plugin 为我的项目生成一个服务工作者,我可以在缓存存储中看到我所有的字体、js 和 css 文件,但看不到索引 / html 文件,当我离线时它不起作用。当我尝试添加到 App 清单上的主页时,我也得到了 'site cannot be installed: no matching service worker detected.'。
我的堆栈是一个通用的 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
我正在使用 sw-precache-webpack-plugin 为我的项目生成一个服务工作者,我可以在缓存存储中看到我所有的字体、js 和 css 文件,但看不到索引 / html 文件,当我离线时它不起作用。当我尝试添加到 App 清单上的主页时,我也得到了 'site cannot be installed: no matching service worker detected.'。
我的堆栈是一个通用的 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