vue默认使用hash模式,这会在地址栏添加一个#,看起来很不好看。去除也很简单,在路由加设置mode为history就可以了。如下:
const router = new Router({
mode: 'history',//主要是这一行
routes: [
...
]
})
这样修改了之后虽然可以出去#号,但是页面刷新之后界面会404,这里配合Nginx修复此问题,在Nginx的vue页面配置中添加如下配置,可解决刷新页面404问题。
location / {
try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
index index.html index.htm;
}
#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
#因此需要rewrite到index.html中,然后交给路由在处理请求资源
location @router {
rewrite ^.*$ /index.html last;
}