vue的router为history模式

一,出现的问题
1.路由跳转不起作用
(1)解决方法:
router

Vue.use(Router)
export default new Router({
mode:'history',  // 注意添加这一项
routes: [
     { path: '/', component: home},
     { path: '/content', component: Content },
        ]
})

注意要写上 mode:‘history’,

(2)原因:
参考:vue router官网配置 https://router.vuejs.org/zh/guide/essentials/history-mode.html
vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。
如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面
也就是vue router将hash->history模式

2.转换成history后需要的支持(服务器的路由配置)
一开始不知道时,我是将所有的一级路由配置进去,比较麻烦
然后参考vue router官网配置 https://router.vuejs.org/zh/guide/essentials/history-mode.html
nginx配置:

location / {
  try_files $uri $uri/ /index.html  @router;
}
//刷新页面出现404问题 配置@router
 location @router {
            rewrite ^.*$ /index.html last;
    }

如果是其他方式如Apache等 请参考vue router官网配置 https://router.vuejs.org/zh/guide/essentials/history-mode.html

你可能感兴趣的:(vue)