首页 > 解决方案 > nuxt js,如何在服务器端渲染时获取网页的主机名

问题描述

在 nuxtjs 项目中,我有一个 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(服务器端渲染),我如何获取主机名?

标签: vue.jsnuxt.js

解决方案


正如@divine 所说,您可以选择多种选项。

例如,

export default {
     async asyncData ({ req, res }) {
        if (process.server) {
         return { host: req.headers.host }
        }
    }

host 将是您的 ssr 主机名


推荐阅读