在 Vue.js 的路由配置中,sensitive 和 strict 是两个重要的配置选项,用于控制路由匹配的行为。以下是它们的详细说明和使用场景:
1. sensitive(大小写敏感)
caseSensitive 或 sensitive 选项用于控制路由匹配是否区分大小写。默认情况下,Vue Router 是不区分大小写的,即 /users 和 /Users 会被视为同一个路由。
启用大小写敏感
如果需要路由匹配区分大小写,可以在路由配置中设置 caseSensitive: true 或 sensitive: true。例如:
const router = createRouter({
history: createWebHistory(),
routes: [
{
path: '/users',
component: Users,
caseSensitive: true // 设置为大小写敏感
}
]
});
启用后,/users 和 /Users 将被视为不同的路由。
注意事项
- 大小写敏感是全局配置,一旦启用,所有路由都将区分大小写。
- 启用后,路由路径必须精确匹配,包括大小写。
2. strict(严格匹配)
strict 选项用于控制路由路径是否严格匹配末尾的斜杠(/)。默认情况下,Vue Router 是非严格匹配的,即 /users 和 /users/ 会被视为同一个路由。
启用严格匹配
如果需要严格匹配路由路径,可以在路由配置中设置 strict: true。例如:
const router = createRouter({
history: createWebHistory(),
routes: [
{
path: '/users',
component: Users,
strict: true // 设置为严格匹配
}
]
});
启用后,/users 和 /users/ 将被视为不同的路由。
注意事项
- 严格匹配是全局配置,一旦启用,所有路由都将严格匹配末尾斜杠。
- 启用后,路由路径必须精确匹配,包括末尾的斜杠。
总结
sensitive或caseSensitive:用于控制路由匹配是否区分大小写。默认为不区分大小写,启用后需要精确匹配大小写。strict:用于控制路由路径是否严格匹配末尾斜杠。默认为非严格匹配,启用后需要精确匹配末尾斜杠。