【问题标题】:Axios BaseURL not working on certain hostsAxios BaseURL 在某些主机上不起作用
【发布时间】:2021-06-22 11:04:36
【问题描述】:

下面是我如何基于the example given on Nuxt.js' website配置Axios:

.env:

BASE_URL=https://path.to.endpoint

nuxt.config.js:

publicRuntimeConfig: {
  axios: {
    baseURL: process.env.BASE_URL
  }
},

在页面加载时我会调用:

this.$axios.get(`/endpoint`)

一旦我将我的应用程序部署为静态站点,它就可以在我的个人主机和 GitHub 页面上运行。但在我雇主的主机上,.env 中指定的端点路径变为https://localhost:3000,因此 API 调用失败。

为什么最有可能是导致这种行为的原因?

【问题讨论】:

  • employer's host 是什么意思?如果他是普通用户,我看不到他如何访问任何环境变量。他也基本上只能访问制作网站没有?或者他也是可以访问代码存储库的开发人员?如果是这种情况,他可能确实有一个 .env 配置与您的配置不匹配,或者在某处被覆盖。
  • 我认为主机是亚马逊。我不知道他们是否有自己的.env 文件,我以前从未遇到过部署(不知何故,在我合作过的所有团队中,其他人都在处理这个问题)。假设有一个冲突的.env 文件,解决方案是否只是用我的.env 文件替换该文件?
  • 您的.gitignore 中有.env 吗?你能在你的代码库上进行全局搜索并寻找localhostctrl + shift + f 应该可以解决问题)吗?
  • 是的,我认为默认情况下它就在那里
  • 你能在你的代码库上进行全局搜索并寻找本地主机(ctrl + shift + f 应该可以解决问题)吗?

标签: axios nuxt.js


【解决方案1】:

好的,从 cmets 看来,您提供的配置完全没问题,而且另一边的团队确实设置了不正确的环境变量。

您需要询问他们在哪里托管您的代码以及他们的环境变量的实际值是什么。实际上,您可能需要将其提供给他们,因为他们(通常)无法自己猜到。

人类交流是下一步。 ^^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    相关资源
    最近更新 更多