To get history mode working with Vue-Router you need to return the contents of your main page when trying to access a route that doesn't exist. For example when you visit mypwa.com/route1
your server checks if there is a resource at route1
and if there isn't, it returns the contents that is found at mypwa.com/
(but without redirecting you). This is great and works when you're online, but it requires your server to do the actual re-routing.
If you have a PWA that's meant to work offline, you need this re-routing to work without the server being available.
The problem is this: visiting mypwa.com/
when you're offline works. After loading it you can then navigate to mypwa.com/route1
from inside the app. However, if you try to navigate directly to mypwa.com/route1
whilst offline you will get a 404 error because mypwa.com/route1
is not cached, only /
is cached.
I suppose this means that you need some kind of fallback clause in your service worker? Does anyone know of a way to achieve this? Is there a common way to do it with sw-precache-webpack-plugin?