【问题标题】:Nuxt dynamic layout base on domain name?Nuxt基于域名的动态布局?
【发布时间】:2020-10-23 09:57:01
【问题描述】:

我打算使用 nuxtJS(通用模式)开发白标项目。我的想法是当用户使用不同的域来到nuxtJS时,它会显示不同的布局。

例如, 如果用户 A 访问 www.aaa.com --> 在 layouts/aaa/default.vue 路径上显示布局

如果用户 A 访问 www.bbb.com --> 在 layouts/bbb/default.vue 路径上显示布局

任何人有一个想法或例子如何处理这个?

问候。

【问题讨论】:

    标签: vue.js nuxt.js


    【解决方案1】:

    听起来像是一个奇怪的设置,但如果你确定这是你想要的;您可以设置一个中间件来检查请求的来源并返回一个可用于确定页面文件布局的值。

    myMiddleware.js

    export default function({ req, redirect }) {
      let host = req.get('host');
      if (host.includes('aaa')) {
        return 'aaaLayout.vue'
      } else if (host.includes('bbb') {
        return 'bbbLayout.vue'
      }
    }
    

    然后在您的页面中:

    import middleware from '@/middleware/myMiddleware'
    ...
    layout: middleware
    

    可能需要进行调整以满足您的确切需求,但类似的方法会起作用。

    【讨论】:

    • 为什么这是一个奇怪的设置?您将如何处理多租户 Web 应用程序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2020-03-02
    • 2011-06-26
    • 1970-01-01
    相关资源
    最近更新 更多