所以我在nuxt3中得到了这个警告:第一个月
这是因为我在中间件中调用了useLocalePath()
。
这是其中一个中间件:
export default defineNuxtRouteMiddleware(async(to, from) => {
const localPath = useLocalePath()
const isUserAuthenticated = await isAuthenticated()
if (isUserAuthenticated) {
if (to.fullPath === localPath('login') || to.fullPath === localPath('register')) {
return navigateTo(localPath('/'))
}
} else {
if (to.fullPath !== localPath('login') && to.fullPath !== localPath('register')) {
return navigateTo(localPath('login'))
}
}
})
字符串
我在nuxt.config.ts中有这样的代码:
i18n: {
lazy: true,
langDir: "locales",
strategy: "prefix_and_default",
locales: [
{
code: 'nl-Nl',
iso: 'nl-Nl',
name: 'Dutch',
file: 'nl-NL.json'
},
{
code: 'en',
iso: 'en',
name: 'English',
file: 'en.json'
},
],
detectBrowserLanguage: {
useCookie: true,
cookieCrossOrigin: true,
alwaysRedirect: true,
cookieKey: 'i18n_redirected',
redirectOn: 'root'
},
defaultLocale: "nl-Nl",
customRoutes: 'config',
pages: {
pricing: {
en: '/pricing',
'nl-Nl': '/prijzen',
}
}
}
型
下面是我使用的i18n版本:"@nuxtjs/i18n": "^8.0.0-beta.12",
个
问题是,代码运行得很好,但我不知道为什么它会给我这个警告。
忽略此警告是否安全?
2条答案
按热度按时间7rtdyuoh1#
useLocalePath()
在后台使用了useRoute()
方法,这就是为什么你会收到警告。一种解决方案是使用useI18n()
,并访问App locale变量。字符串
u3r8eeie2#
这对我很管用
字符串