以前讲过怎样将vue-cli建立的项目改形成多页面(vue-cli建立项目从单页面到多页面),今天说一下怎样在多页面的前提下使用history模式。javascript
由于vue默认的hash模式的url有些丑,因此咱们能够在路由的配置中添加以下配置:html
import Router from 'vue-router'; new Router({ mode: 'history' // 这样设置后,就能够去掉url中丑丑的“#”啦 });
可是若是只是这样使用的话,在本地开发时,有一个问题,那就是当你访问其余页面的时候,只能使用xxx/pagename.html 这种方式访问,而不是xxx/xxx2/xxx3等方式,直接刷新后,并不能定位到你预期的pagename.html,反而会定位到index.html(由于默认会定位到这里);vue
在build/dev-sever.js中,咱们能够经过connect-history-api-fallback 模块修改,修改方式以下:
// SPA应用浏览器回退支持配置java
var rewrites = { rewrites: [{ from: '/home/', // 正则或者字符串 to: '/home/index.html', // 字符串或者函数 }] }; // handle fallback for HTML5 history API app.use(require('connect-history-api-fallback')(rewrites));
官方使用文档见github:https://github.com/bripkens/connect-history-api-fallbackgit
个人vue多页面系列的其余博客连接:github
Vue-cli建立项目从单页面到多页面vue-router