rafgraph / spa-github-pages

Host single page apps with GitHub Pages
https://spa-github-pages.rafgraph.dev
MIT License
3.83k stars 565 forks source link

Mention alternative of `HashRouter` #64

Open deantork-sc opened 1 year ago

deantork-sc commented 1 year ago

I was having problems with my SPA in Github Pages, and found a few solutions to the problem. This project fixes the problem in a roundabout way, and a slightly more direct solution is using HashRouter instead of BrowserRouter. I don't know if this fixes all instances of this problem, but it worked for me.

I think the readme should mention this alternative for folks who want a more lightweight solution.

gatinhap commented 1 year ago

@deantork-sc, thanks, for me it worked as well!

lucharo commented 1 year ago

Do you have examples of how to achieve this? @deantork-sc @gatinhap

gatinhap commented 1 year ago

@lucharo - you can have a look into my repo where I use it - https://github.com/gatinhap/magdak and the specific file - https://github.com/gatinhap/magdak/blob/main/src/main.jsx. Instead of wrapping my <App/> in BrowserRouter, I wrapped it in HashRouter and that's all :)

lucharo commented 1 year ago

Thanks for the reply I made it work in the end. I was confused at the fact I couldn't serve my builds folder with serve -s build when my package.json included my GitHub pages url as the homepage field but then I realised despite that the site does build correctly in gh pages itself 🎉 https://luischaves.xyz/recipe-portfolio https://github.com/lucharo/recipe-portfolio

stxgao commented 10 months ago

Agree that this should be mentioned as an alternative.

However, I wanted to add that I came here from my HashRouter implementation, since I wanted more shareable links (without the /#/ prefixing all my routes).