0
我在尝试设置服务工作者使用sw-precache来缓存CDNJS中的资产以便脱机使用。不幸的是,这似乎并不奏效。这是我到目前为止有:CDN服务工作者
之前任何脚本加载在index.html
:
<script type='text/javascript'>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/js/service_worker.js')
.then(function() {
console.log("Service Worker Registered")
})
}
</script>
而且这里是我使用生成服务工作者咕嘟咕嘟任务:
const config = require('../config')
const gulp = require('gulp')
const swPrecache = require('sw-precache')
gulp.task('serviceWorker', (callback) => {
swPrecache.write(config.build.serviceWorker, {
runtimeCaching: [
{
urlPattern: /^https:\/\/cdnjs\.cloudflare\.com/,
handler: 'networkFirst'
}
]
}, callback)
})
当我运行该应用程序时,我看到Service Worker Registered
已记录到控制台。但是,如果我断开我的WiFi,应用程序无法加载脚本。我究竟做错了什么?
这个伎俩!谢谢您的帮助。 – LandonSchropp