Heroku正在将“undefined”添加到BASE_URL环境变量

l7mqbcuq  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(160)

尝试将vuejs,express应用程序部署到heroku。应用程序显示,但无法访问api,因为heroku似乎在base_url中间添加了“undefined”。一切都按预期在本地工作。
下面是我的heroku配置变量:BASE_URL: https://goore-todos.herokuapp.com/
下面是Vuews组件API请求:

fetchTodo () {
  let uri = process.env.BASE_URL + '/api/all';
  axios.get(uri).then((response) => {
    this.todos = response.data;
  });
},

如前所述,这在本地有效。
控制台显示以下错误:404(找不到您要的页面)
并且视图为空。
通过Postman发送到https://goore-todos.herokuapp.com/api/的请求按预期工作。

3df52oht

3df52oht1#

在这个例子中,process.env.BASE_URL看起来是未定义的。因为它是未定义的,所以你试图访问的url被认为是相对的。这意味着它使用你当前的域,并将路径附加到它。
如果你的前端和后端运行在同一个域上,没有理由尝试将API url作为变量传递,因为你可以只使用相对URL。
如果你想通过一个环境变量访问URL,使用前端应用程序有点麻烦。Vue应用程序在用户的浏览器上运行,而不是在你的服务器上,所以你不能直接访问它。

相关问题