Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript sw precache网页包插件网页包服务人员默认模板_Javascript_Express_Webpack_Ejs_Sw Precache - Fatal编程技术网

Javascript sw precache网页包插件网页包服务人员默认模板

Javascript sw precache网页包插件网页包服务人员默认模板,javascript,express,webpack,ejs,sw-precache,Javascript,Express,Webpack,Ejs,Sw Precache,我正在使用sw precache webpack插件为我的项目生成一个服务人员,我可以在缓存中看到我所有的字体、js和css文件,但看不到索引/html文件,当我脱机时它不工作。当我尝试在应用程序清单上添加到主页时,我还收到一个“无法安装站点:未检测到匹配的服务人员” 我的堆栈是一个通用的React+redux应用程序,索引文件使用Express+ejs。我不确定这是否是因为我使用的是ejs而不是默认的html文件,但它似乎找不到该文件。有没有办法指定模板?我的sw precache网页包插件网

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

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

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

如果您在插件配置中缺少缓存策略的规范,请提供任何建议

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

文档:

感谢您的回复,我刚刚做了一个构建并清除了服务人员。不幸的是,它没有起作用。@GraemePaul你解决了这个问题吗,因为我遇到了完全相同的问题?@GraemePaul没关系。佩德罗提供的答案确实有效。只是缓存问题。@TheoG我的问题是两件事,首先是缺少Pedro关于缓存策略的答案。我对服务人员的文件位置有问题,在express中添加了一个静态路径修复了它。app.use('/sw.js',express.static(path.join(uu dirname,'../../client/dist/sw.js'));