1

我正在使用 sw-precache-webpack-plugin 为我的项目生成服务工作者,我可以在缓存存储中看到我所有的字体、js 和 css 文件,但看不到 index/html 文件,并且当我去时它不工作离线。我还收到“无法安装站点:未检测到匹配的服务人员”。当我尝试添加到应用程序清单上的主页时。

我的堆栈是一个通用的 React + redux 应用程序,带有 Express + ejs 用于索引文件。我不确定是不是因为我使用的是 ejs 而不是默认的 html 文件,但它似乎找不到该文件。有没有办法可以指定模板?我的 sw-precache-webpack-plugin webpack 设置是:

new SWPrecacheWebpackPlugin({
 cacheId: 'tester',
 filename: 'my-service-worker.js',
 directoryIndex: '/',
}),

任何意见,将不胜感激

4

1 回答 1

3

您在插件配置中缺少缓存策略规范。

plugins: [
    new SWPrecacheWebpackPlugin({
        cacheId: 'tester',
        filename: 'my-service-worker.js',
        runtimeCaching: [
        {
            urlPattern: '/',
            handler: 'cacheFirst',
        }
        ]
    })
]

文档:https ://github.com/GoogleChrome/sw-precache#runtimecaching-arrayobject

于 2017-01-11T11:45:08.640 回答