我正在使用 Google 的SW Precache为托管在 firebase 上的 Angular(当前为 v.4)应用程序生成 serviceworker。我正在使用 Angular cli 生成我的分布式文件。在部署我的应用程序时,我使用以下命令:
ng build --prod --aot #build angular app
sw-precache --config=sw-precache-config.js --verbose # generate precache
firebase deploy # Send to firebase
我的sw-precache-config.js
文件如下所示:
module.exports = {
staticFileGlobs: [
'dist/**.css',
'dist/**/**.png',
'dist/**/**.svg',
'dist/**.js'
],
stripPrefix: 'dist',
root: 'dist/',
navigateFallback: '/index.html',
runtimeCaching: [
{
urlPattern: /index\.html/,
handler: 'networkFirst'
},
{
urlPattern: /\.js/,
handler: 'cacheFirst'
}, {
urlPattern: /fonts\.googleapis\.com/,
handler: 'fastest'
},
{
default: 'networkFirst'
}
]
};
如果我进行更改并部署新版本,即使我刷新或关闭浏览器,我也会得到缓存的 index.html 文件。?cachebust=1
如果我在 url 的末尾添加类似的内容,我可以获得更新的 index.html 文件。我的流程或配置中是否有什么问题不允许加载最新的 index.html?