There is a trick to make your routes accessible via directly entering the url into the address bar if you are hosting your site in github pages. You just need to configure your webpack to generate multiple index files with the same entry point that will be stored in each directory based on your routes.
This is easily achieved if you are using vue-cli to generate your project.
For example, I have these routes:
,
I just need to create a vue.config.js in the root of my project.

and inside the vue.config.js file, I just need to register several more pages based on what's on my router.
Each entry point should be your main.js file, and the template should be your index.html.
The filename should be <your-route>/index.html
If you entered sub-directory into the filename, Vue will automatically create those directories if they don't exist during compilation. So if the filename you entered is photography/index.html, Vue will automatically create a photography directory inside the dist directory.

And if you check your dist directory, you will see the directories with an index.html inside.

So when you enter your route into the address bar, it will actually access one of these directories and display the index.html.
This is what I actually did to my homepage which I hosted in my github account.
Here's my github page: https://wisdomsky.github.io/
I have two pages the about and photography and if you will enter https://wisdomsky.github.io/photography into the address bar, it will render my photography page instead of receiving the Github 404 page.
TransferHttpCacheModule...