Progressive web apps 如何使用Laravel Mix Workbox使站点脱机可用
我有一个拉威尔Vue PWA使用 在webpack.mix.js中,我有:Progressive web apps 如何使用Laravel Mix Workbox使站点脱机可用,progressive-web-apps,laravel-mix,workbox-window,Progressive Web Apps,Laravel Mix,Workbox Window,我有一个拉威尔Vue PWA使用 在webpack.mix.js中,我有: mix .js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css') .generateSW({ additionalManifestEntries: [{url: 'index.php', revision: '1'}] }) 注意这里我手动添加了index.
mix
.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.generateSW({
additionalManifestEntries: [{url: 'index.php', revision: '1'}]
})
注意这里我手动添加了index.php
作为附加清单条目。这是因为index.php
中包含的html是我的,需要缓存以使我的应用程序脱机可用
在我的mainapp.js
中,我有:
import { Workbox } from 'workbox-window'
import { precacheAndRoute, createHandlerBoundToURL } from 'workbox-precaching'
import { registerRoute, NavigationRoute } from 'workbox-routing'
if ('serviceWorker' in navigator) {
const wb = new Workbox('/service-worker.js')
precacheAndRoute([
{ url: '/index.php', revision: '383676' }
])
const handler = createHandlerBoundToURL('/index.php')
const navigationRoute = new NavigationRoute(handler)
registerRoute(navigationRoute)
wb.register()
}
我正在使用它,因为它声称可以让一切变得更容易
注意,我在这里调用precacheAndRoute
,否则我会得到错误createHandlerBoundTour('/index.php')被调用,但是这个URL并没有预先缓存。
我不明白为什么需要这样做,因为我可以看到index.php
已经在我的server worker.js
中传递给precacheAndRoute
的数组中
我尝试使用Workbox WindowmessageSW
函数,而不是使用index.php
传递'CACHE\u url'
,但这并没有修复错误
这段代码的目的是注册一条导航路线,这样我就可以根据返回所有导航请求的特定响应
我现在可以在Chrome中查看该网站,查看是否安装了服务人员,但当我选中“脱机”并重新加载页面时,我只会收到消息“没有互联网”
查看网络,我可以看到对/dashboard
的请求失败
如何使我的网站脱机工作?
为什么服务人员不使用缓存的
index.php
响应请求 我也有同样的问题。你找到解决办法了吗?没有,没有简单的解决办法,或者至少记不起来了。这绝对是个挑战,我也有同样的问题。你找到解决办法了吗?没有,没有简单的解决办法,或者至少记不起来了。这绝对是一个挑战。