你如何在 vuex SSR 中得到类似 window.location.host 的东西?
How do you get something like window.location.host while in a vuex SSR?
我正在创建 xyz.com 站点和 abc.xyz.com 子域的客户端。两个站点使用相同的 Vue / Nuxt 源代码
使用 API:xyz.com/api... 和 abc.xyz.com/api... 通过 vuex。但是我不明白你如何在 vuex 中从 Location API 得到类似 window.location.host 的东西?
// state
export default () => ({
api: window.location.host
})
// getters
getLocation = state => state.api // ReferenceError - window is not defined
我可以不用插件吗?
我解决了这个问题。我使用了 nuxtServerInit 和 req.headers.host:
nuxtServerInit ({ commit }, { req }) {
const { host } = req.headers
if (host) {
commit('setHost', host)
commit('setUrl', `https://${host}/`)
commit('setApi', `https://${host}/api/v1`)
}
}
我正在创建 xyz.com 站点和 abc.xyz.com 子域的客户端。两个站点使用相同的 Vue / Nuxt 源代码 使用 API:xyz.com/api... 和 abc.xyz.com/api... 通过 vuex。但是我不明白你如何在 vuex 中从 Location API 得到类似 window.location.host 的东西?
// state
export default () => ({
api: window.location.host
})
// getters
getLocation = state => state.api // ReferenceError - window is not defined
我可以不用插件吗?
我解决了这个问题。我使用了 nuxtServerInit 和 req.headers.host:
nuxtServerInit ({ commit }, { req }) {
const { host } = req.headers
if (host) {
commit('setHost', host)
commit('setUrl', `https://${host}/`)
commit('setApi', `https://${host}/api/v1`)
}
}