umi修改默认的browser路由为hash路由
browser路由长啥样?localhost:8000/userCenter/index
hash路由长啥样?localhost:8000/#/userCenter/index
两者表面区别就是多了一个#
这样的区别带来的直接问题就是当处于二级或多级路由状态时,刷新页面,会将当前路由发送到服务器(因为是pathname),而不会(因为是hash段)
我会遇到这个问题是因为我做面包屑路由跳转的时候用的是默认的browser路由,跳转之后路由就变成了这样的就找不到localhost:8000/userCenter#/userDetails/index
umi默认的路由是browser路由,那么如果修改为hash路由呢?
找到config
目录下的config.ts
文件
找到大概70行左右有一个history
属性,如果在这个目录没有找到的话就手动加上这么一个属性(这个umi较老的版本使用的)
如果是新版本的umi的话,这个属性的值是一个对象,而不是一个字符串