【问题标题】:Nuxt BaseUrl from domaine name来自域名的 Nuxt BaseUrl
【发布时间】:2021-07-13 18:42:31
【问题描述】:

我在 heroku 上有一个 nuxt 应用程序,并将 mysubdom1.mydom.com 发送到该应用程序。 BaseUrl 在我的 nuxt.config.js 中定义为 mysubdom1-admin.mydom.com。

它工作正常,但我想将 mysubdom2.mydom.com 发送到同一个应用程序。 我希望现在在我的 nuxt.config.js 中定义的 baseUrl 是 mysubdom2-admin.mydom.com。

我尝试将 nuxtServerInit 和 nuxtClientInit 与 req.headers.host 一起使用,但没有成功。

我想我需要使用服务器中间件,但我找不到合适的例子来说明如何做我想做的事。

如果有人可以指出一个非常基本的例子来说明如何做到这一点,那将有很大帮助。 谢谢!

【问题讨论】:

  • 你能分享你的nuxt.config.js文件吗?这一切都取决于你如何使用你的环境变量,如果它们是在构建或运行时。
  • 我找到了解决方案。不是很优雅,但可以工作。
  • 你可以这样回答你自己的问题。这可能会帮助将来的人,谁知道呢。基本上是为了避免这种情况:xkcd.com/979
  • 嗨@kissu,是的,很抱歉我正要在评论中这样做,但现在已经正确完成了。
  • @kissu,刚刚检查了你的链接 xD 很好。

标签: node.js nuxt.js middleware


【解决方案1】:

对于任何研究此问题的人,这是我找到的解决方案。

env: {
    baseUrl: (process.env.NODE_ENV === 'production' ? 'https://web-admin.exemple.eu' : (process.env.NODE_ENV === 'dev' ? 'https://dev-admin.exemple.eu' : (process.env.NODE_ENV === 'staging' ? 'https://staging-admin.exemple.eu' : (process.env.NODE_ENV === 'motion' ? 'https://motion-admin.exemple.eu' :  'https://web-admin.exemple.eu'))))
  },

【讨论】:

  • 回想起来这多么简单,我不敢相信我花了 2 天时间查看代理和中间件......
  • 我猜你也可以创建一个switchif/else 条件来避免嵌套三元! :D
  • @kissu 你可以在 nuxt.config.js 中进行切换吗?我试过了,但我没有找到正确的方法。你能告诉我你会怎么做一个开关吗?
【解决方案2】:

这个应该适用于 IMO:

let myVariable = null
switch (process.env.NODE_ENV) {
  case 'production':
    myVariable = 'https://web-admin.exemple.eu'
    break
  case 'development':
    myVariable = 'https://dev-admin.exemple.eu'
    break
  default:
    break
}


export default {
  // ..
  // the rest of your nuxt configuration where you can use myVariable

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2015-01-26
    相关资源
    最近更新 更多