我自己本地写的路由并没有出现#是怎么回事
使用vue-router默认 hash 模式 ,也就是你上面的“#”模式,如下:
http://yoursite.com/#/user/id
mode:history模式就是正常的路径模式,如下:
http://yoursite.com/user/id
在vue-router中可以通过以下方法设置不同的模式,具体可以看官网https://router.vuejs.org/zh-c...:
const router = new VueRouter({
mode: 'history',
routes: [...]
})
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
"#" url的hash模式
"#"号 后面的字符其实是一个位置标识符,最早的作用是,如果该网页中含有,该标识符的锚点或id,网页就可以自动滚动到该处
为什么会被SPA采用,也是因为#号的几个特性
当然它还有一些其它的特性,但相对SPA来说可能没有哪么重要
为什么又出现了history 模式,
我感觉就一个原因,不好看
你说哪个URL更友好,更符合人们对正常URL的期待,history.pushState API比较完善以后,主流的SPA框架都对其进行了支持。
但是history模式,需要后端支持,如果不支持,就可能自动降级为hash模式