I sometimes see some web applications in production with this below routing pattern :
{HOST}/#/{ENDPOINT}
#
hashRouter is normally used when you're not sure if your server supports pushState and you want the ability to move between routes within your application and keep the UI in sync. This is also used if you want to support browsers that don't support pushState.
Everything after the hash will be matched to your routing library.