不懂vue路由里“#” 或 "#!"分别什么意思我自己demo里的路由有“#” http://localhost:8080/#/home/article看到网上的vue路由有“#!” https://mrjeff578575.github.io/Vue-demo/#!/home/article
http://localhost:8080/#/home/article
https://mrjeff578575.github.io/Vue-demo/#!/home/article
ringa_lee
传送门 https://router.vuejs.org/zh-c...
现在前端路由有3种模式
hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器。
history: 依赖 HTML5 History API 和服务器配置。查看 HTML5 History 模式.
abstract: 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。
常用的是 1(地址有 # 号) 和 2 (地址和真实请求没区别)
另外,
# 是 vue-router 使用的hash符号
#
#!是 angularjs Route 使用的hash符号
#!
这个无所谓, 有 # 就行(浏览器不会发生页面跳转)
你给那个页面使用的是 vue-router v0.7.13, 我看源码里也是 #! 这个符号
Vue路由模式
这个称为路由的hash策略. 与之对应的是path策略. '#'称为hash符号.hash后边的路径不会被服务端解析. 具体的 自行搜索.
#!是hashbang,与#意义完全一样。不同的仅仅是语义。
#是hash模式history模式不带#号,但部署到服务器的话hash模式不会出现刷新404问题。。history模式如果刷新或者直接连接进入某个页面,会提示404。。。传统方式,后端程序会实际生成一个文件,连接请求能真的找到一个文件。。这种单页式只有一个html,也不是后端程序不会自动生成文件。。所以如果用history模式,部署到服务器的时候需要配置虚拟路径如果请求不到资源的情况下都指向index.html文件
#是hash模式
传送门 https://router.vuejs.org/zh-c...
现在前端路由有3种模式
hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器。
history: 依赖 HTML5 History API 和服务器配置。查看 HTML5 History 模式.
abstract: 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。
常用的是 1(地址有 # 号) 和 2 (地址和真实请求没区别)
另外,
#
是 vue-router 使用的hash符号#!
是 angularjs Route 使用的hash符号这个无所谓, 有 # 就行(浏览器不会发生页面跳转)
你给那个页面使用的是 vue-router v0.7.13, 我看源码里也是 #! 这个符号
Vue路由模式
这个称为路由的hash策略. 与之对应的是path策略. '#'称为hash符号.hash后边的路径不会被服务端解析. 具体的 自行搜索.
#!是hashbang,与#意义完全一样。不同的仅仅是语义。
#是hash模式
history模式不带#号,
但部署到服务器的话
hash模式不会出现刷新404问题。。
history模式如果刷新或者直接连接进入某个页面,会提示404。。。
传统方式,后端程序会实际生成一个文件,连接请求能真的找到一个文件。。
这种单页式只有一个html,也不是后端程序不会自动生成文件。。
所以如果用history模式,部署到服务器的时候需要配置虚拟路径
如果请求不到资源的情况下都指向index.html文件