在 nuxtjs poroject,我有一个像这样的 api 环境的配置变量:
[
{
front_host: local-1.domain.com,
backend_api: api-1.domain.com
},
{
front_host: local-2.domain.com,
backend_api: api-2.domain.com
},
]
我需要从主机名中获取正确的对象元素,例如,如果我的网页的主机名是“local-1.domain.name”,那么我将获取该对象
{front_host: local-1.domain.com, backend_api: api-2.domain.com}
。
在nuxtjs中,如果网页在前端渲染,那么我可以通过
location.host
获取主机名,如果在ssr(服务器端渲染),我如何获取主机名?
就像@divine所说,您可以选择多种选项。
例如,
export default {
async asyncData ({ req, res }) {
if (process.server) {
return { host: req.headers.host }
}
}
host 将是你的 ssr 主机名
像下面这样的东西应该适合你
asyncData ({ req, res }) {
const hostname = req ? req.headers.host : window.location.host.split(':')[0]
}
在 nuxt 3 中,你还可以使用:
const url = useRequestURL()
console.log('host name', url.hostname)