hash #怎么去掉

1、路由mode改为"history";

const router = new VueRouter({
mode: ‘history’,
routes // (缩写)相当于 routes: routes
})

2、在项目配置文件中,vue-cli3环境中在default.conf文件中,这个是在 sever{}中如下面两种方式修改,这两种方法都行;

location / {
       try_files $uri $uri/ @router;
       index index.html;
 }

location @router {
       rewrite ^.*$ /index.html last;
}

location / {
  try_files $uri $uri/ /index.html;
}

**

相关知识点:

**
try_files指令
语法:try_files file … uri 或 try_files file … = code
默认值:无
作用域:server location

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么 a r g s 不 会 自 动 保 留 , 如 果 你 想 保 留 args不会自动保留,如果你想保留 argsargs,则必须明确声明。

location指令
语法:location [=||*|^~|@] /uri/ { … }
默认值:无
作用域:server

location指令是用来为匹配的URI进行配置,URI即语法中的"/uri/",可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。 [@] 即是命名location,一般只用于内部重定向请求。

你可能感兴趣的:(router,vue,hash)