vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。
简单来说为什么使用history模式呢?因为“#”,路由默认的是hash模式。
路由匹配区别:
1 | // hash模式 |
使用histroy模式时,不仅要配置路由,还需要后台配置支持。不然无法直接访问路由地址demo.com/login
。(前提:你也需要处理了404 默认页面问题)
为什么要说记录一下node.js下使用history呢?很明显我也踩到了坑
基于 Node.js 的 Express
对于 Node.js/Express (原生Node.js,可参考官方文档)
1.安装 connect-history-api-fallback 中间件
1 | npm install -s connect-history-api-fallback |
2.引用
1 | var express = require('express'); |
是的这样就可以了。
参考: Express配置SPA-History模式 (解答了我的问题)