vue-router 的默认数据hash模式-使用url的hash来模拟一个完整的URL,于是当URL改变时,页面不会重新加载。
一般情况下,我们不喜欢丑丑的hash,类似于index.html#/matchResult,可以使用路由的history模式。history模式是利用history.pushState API来实现页面跳转。
但是有个问题,在使用nginx的时候,我们需要添加一些配置。
直接配置在根路径下
直接配置在根路径下,访问的时候只用输入http://yoursite.com,在nginx的配置如下
location / {
try_files $uri $uri/ /index.html;
}
非根路径配置
如果一个域名下有多个项目,那么使用根路径配置就不合适了,我们需要在根路径下指定一层路径,比如说
A项目
http://yoursite.com/A
B项目
http://yoursite.com/B
nginx的配置
location ^~/A {
alias /XX/A;//此处为A的路径
index index.html;
try_files $uri $uri/ /A/index.html;
}
location ^~/B {
alias /XX/B;//此处为B的路径
index index.html;
try_files $uri $uri/ /B/index.html;
}
router 配置
A项目
routes: [
{
},
],
mode: 'history',
base: '/A',
B项目
routes: [
{
},
],
mode: 'history',
base: '/B',
tip: 注意要用alias不能用root