Vue哈希模式默认是在url带上#号的,如果希望通过不带#号的url想访问到正常的页面,而又不改变路由的模式(网上普遍的做法是改变路由的模式为history)
原理其实是通过修改用户输入的url,为其添加#号来达到正常访问的效果。
一开始想在路由守卫那么做,但是页面还没进入到路由守卫已经开始报错了。一番折腾,最终在index.html中对路由进行修改
// /media下的所有页面都可以直接不带#号访问,通过匹配location.href去拼接#号;
// 同时要注意过滤掉拼接完之后的情况,避免二次拼接造成页面路径出错
if(location.href.indexOf('/media')>-1 && location.href.indexOf('#/media')==-1){
location.href = location.href.replace('/media','/#media')
}