我使用 nuxt.js + vue.js。我需要创建路由器的区分大小写。我发现了以下属性:caseSensitive。我试图将它放入 nuxt.config 但它不起作用,可以通过大写链接进行转换。如果我直接更改文件 ~project/.nuxt/router.js,一切正常。帮我弄清楚。
router: {
extendRoutes (routes) {
for (let key in routes) {
routes[key]['caseSensitive'] = true
}
}
你的代码看起来不错。我已经测试过了,这是我的:
// nuxt.config.js
router: {
extendRoutes(routes) {
for (const key in routes) {
routes[key].caseSensitive = true
}
}
}
更准确地说,nuxt 文档允许在
router.extendRoutes
中使用nuxt.config.js
属性自定义路线。正如它所说,对于每条路线:
路由的模式应该遵循 vue-router 模式
所以你需要查看 vue-router 的文档,在那里你可以找到
caseSensitive
属性。
重要说明 1: 此选项适用于 Vue 2.6.0+,适用于 Nuxt 2.5.0。所以 Nuxt 版本必须至少 >= 2.5.0.
重要提示 2: 一定要调用正确的 url 并清空缓存。我遇到了同样的问题,因为当我在 Chrome 搜索输入浏览器中输入我的 url 时,chrome 自动将其更改为小写。事实上,它使用了我之前请求的历史记录,而不是我想要的请求。
在
Nuxt 3
中,升级后2
-> 3
,你可以简单地命名你的页面pages/UpperCase
,它将自动生成/UpperCase
路由,以及pages/lowercase
,它将生成 /lowercase
自动路由。不需要更多的技巧:)