vue默认使用hash模式,这会在地址栏添加一个#,看起来很不好看。去除也很简单,在路由加设置mode为history就可以了。如下:

    1. const router = new Router({
    2. mode: 'history',//主要是这一行
    3. routes: [
    4. ...
    5. ]
    6. })

    这样修改了之后虽然可以出去#号,但是页面刷新之后界面会404,这里配合Nginx修复此问题,在Nginx的vue页面配置中添加如下配置,可解决刷新页面404问题。

    1. location / {
    2. try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
    3. index index.html index.htm;
    4. }
    5. #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
    6. #因此需要rewrite到index.html中,然后交给路由在处理请求资源
    7. location @router {
    8. rewrite ^.*$ /index.html last;
    9. }