vue-router 的URL路径中#的意义
2024-08-21 05:38:39
传送门 https://router.vuejs.org/zh-c...
Router 构造配置
routes
类型:
Array<RouteConfig>
RouteConfig
的类型定义:declare type RouteConfig = {
path: string;
component?: Component;
name?: string; // 命名路由
components?: { [name: string]: Component }; // 命名视图组件
redirect?: string | Location | Function;
props?: boolean | string | Function;
alias?: string | Array<string>;
children?: Array<RouteConfig>; // 嵌套路由
beforeEnter?: (to: Route, from: Route, next: Function) => void;
meta?: any; // 2.6.0+
caseSensitive?: boolean; // 匹配规则是否大小写敏感?(默认值:false)
pathToRegexpOptions?: Object; // 编译正则的选项
}
mode
类型:
string
默认值:
"hash" (浏览器环境) | "abstract" (Node.js 环境)
可选值:
"hash" | "history" | "abstract"
配置路由模式:
hash
: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器。history
: 依赖 HTML5 History API 和服务器配置。查看 HTML5 History 模式。abstract
: 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。
现在前端路由的3种模式,常用的是 hash模式(地址有 # 号) 和 history模式 (地址和真实请求没区别)
另外,
#
是 vue-router 使用的hash符号
#!
是 angularjs Route 使用的hash符号
这个无所谓, 有 # 就行(浏览器不会发生页面跳转)
#是hash模式
history模式不带#号,
但部署到服务器的话
hash模式不会出现刷新404问题。。
history模式如果刷新或者直接连接进入某个页面,会提示404。。。
传统方式,后端程序会实际生成一个文件,连接请求能真的找到一个文件。。
这种单页式只有一个html,也不是后端程序不会自动生成文件。。
所以如果用history模式,部署到服务器的时候需要配置虚拟路径
如果请求不到资源的情况下都指向index.html文件
最新文章
- Swift和Objective-C混编注意事项
- *关于httl开源Java模板的使用心得
- MyBank(自助银行)系统
- Salesforce 生成测试可用 Id
- 百万用户时尚分享网站feed系统扩展实践
- 使用mybatis执行oracle存储过程
- ThinkPHP 3.2.3的 R 方法
- [JavaScript] 函数同名问题
- Linux中命令链接操作符的十个最佳实例
- 28个MongoDB NoSQL数据库的面试问答
- Linux必学的命令
- 南京Uber优步司机奖励政策(1月18日~1月24日)
- Silverlight Visifire控件 后台设置颜色
- 【★】RSA-什么是不对称加密算法?
- 初识NumPy库-基本操作
- Effective Java 第三版——25. 将源文件限制为单个顶级类
- mybatis类型别名
- 你了解大O符号(big-O notation)么?你能给出不同数据结构的例子么?
- Mac 配置 Jenkins
- ASP.NET Application Life Cycle