sw-precache-webpack-plugin webpack服务工作者默认模板

时间:2017-01-06 20:07:08

标签: javascript express webpack ejs sw-precache

我正在使用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: '/',
}),

任何建议都将不胜感激

1 个答案:

答案 0 :(得分:3)

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

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

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