尝试将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/的请求按预期工作。
1条答案
按热度按时间3df52oht1#
在这个例子中,process.env.BASE_URL看起来是未定义的。因为它是未定义的,所以你试图访问的url被认为是相对的。这意味着它使用你当前的域,并将路径附加到它。
如果你的前端和后端运行在同一个域上,没有理由尝试将API url作为变量传递,因为你可以只使用相对URL。
如果你想通过一个环境变量访问URL,使用前端应用程序有点麻烦。Vue应用程序在用户的浏览器上运行,而不是在你的服务器上,所以你不能直接访问它。