关于单页面应用、vue两种路由模式
单页面应用
只有一个页面,对应vue中的index.html,通过引入组件、vue路由来实现资源的各种加载;
vueRouter
1、hash模式:路径中带#
在index.html中加载vue资源的真实URL应为 https://www.xxx.com/xxx-prog/index.html#/xxxvue,URL中的index.html被隐藏;
2、history模式:进一步隐藏掉URL中的 #
# 被隐藏之后,URL不再完整, https://www.xxx.com/xxx-prog/xxxvue ,通过vueRouter的跳转在识别为history模式之后补全URL,使其能访问到目标资源,故声明history时需声明BASE_URL;
const router = new VueRouter({
mode: 'history',
base: '/xxx',
routes: [...],
......
})
因为history的URL实际上并不完整,刷新页面时(因为不走vueRouter)当前的URL无法访问到目标资源(404),故需在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回当前节点xxx-prog下的index.html;
nginx配置:
location / {
try_files $uri $uri/ /index.html;
}
详情见官网> https://router.vuejs.org/zh/guide/essentials/history-mode.html

浙公网安备 33010602011771号