如何在 Nuxt 中使路由区分大小写

Vla*_*nin 6 javascript vue.js vue-router nuxt.js

我使用 nuxt.js + vue.js。我需要创建路由器区分大小写。我发现以下属性:caseSensitive。我\xe2\x80\x99m 尝试将其放入 nuxt.config 但它\xe2\x80\x99t 不起作用,可以通过大写的链接进行转换。如果我直接更改文件 ~project/.nuxt/router.js,一切正常。帮我弄清楚。

\n\n
  router: {\n    extendRoutes (routes) {\n      for (let key in routes) {\n        routes[key]['caseSensitive'] = true\n      }\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

Tho*_*ous 4

你的代码看起来不错。我已经测试过了,这是我的:

// nuxt.config.js
router: {
  extendRoutes(routes) {
    for (const key in routes) {
      routes[key].caseSensitive = true
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

更准确地说,nuxt文档允许使用. 正如它所说,对于每条路线:router.extendRoutesnuxt.config.js

路由的模式应该遵循 vue-router 模式

所以你需要查看vue-router的文档,在那里你可以找到该caseSensitive属性。

重要提示 1:此选项适用于 Vue 2.6.0+,适用于 Nuxt 2.5.0。所以 Nuxt 版本必须至少 >= 2.5.0。

重要提示 2:请务必调用正确的 url 并将缓存清空。我遇到了同样的问题,因为当我在 Chrome 搜索输入浏览器中输入网址时,chrome 会自动将其更改为小写。事实上,它使用了我之前请求的历史记录,而不是我想要的请求。