Sensitive 与 strict 路由配置

155 阅读2分钟

在 Vue.js 的路由配置中,sensitivestrict 是两个重要的配置选项,用于控制路由匹配的行为。以下是它们的详细说明和使用场景:

1. sensitive(大小写敏感)

caseSensitivesensitive 选项用于控制路由匹配是否区分大小写。默认情况下,Vue Router 是不区分大小写的,即 /users/Users 会被视为同一个路由。

启用大小写敏感

如果需要路由匹配区分大小写,可以在路由配置中设置 caseSensitive: truesensitive: 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/ 将被视为不同的路由。

注意事项

  • 严格匹配是全局配置,一旦启用,所有路由都将严格匹配末尾斜杠。
  • 启用后,路由路径必须精确匹配,包括末尾的斜杠。

总结

  • sensitivecaseSensitive:用于控制路由匹配是否区分大小写。默认为不区分大小写,启用后需要精确匹配大小写。
  • strict:用于控制路由路径是否严格匹配末尾斜杠。默认为非严格匹配,启用后需要精确匹配末尾斜杠。