如何在 Nuxt 3 中间件获取当前域?
How to get current domain at Nuxt 3 middleware?
我不能在这里使用 window.location 因为它是 SSR 应用程序。
useRouter、useRoute 和 useNuxtApp 也没有域名。
nuxtApp.ssrContext 未定义。
export default defineNuxtRouteMiddleware((to: any, from: any) => {
console.log("GET HOST HERE")
})
我只是在获取 nuxtApp.ssrContext 之前错过了检查 process.server。这是我的问题的答案:
export default defineNuxtRouteMiddleware((to: any, from: any) => {
const nuxtApp = useNuxtApp()
let host = ''
if(process.server) {
host = nuxtApp.ssrContext.req.headers.host
} else {
host = window.location.host
}
})
我不能在这里使用 window.location 因为它是 SSR 应用程序。 useRouter、useRoute 和 useNuxtApp 也没有域名。 nuxtApp.ssrContext 未定义。
export default defineNuxtRouteMiddleware((to: any, from: any) => {
console.log("GET HOST HERE")
})
我只是在获取 nuxtApp.ssrContext 之前错过了检查 process.server。这是我的问题的答案:
export default defineNuxtRouteMiddleware((to: any, from: any) => {
const nuxtApp = useNuxtApp()
let host = ''
if(process.server) {
host = nuxtApp.ssrContext.req.headers.host
} else {
host = window.location.host
}
})