假设我正在开发一个包含多个微服务的平台,Nuxt 前端服务就是其中之一。 我在 nuxt 中间件(在服务器和客户端中运行)中使用 Axios。 在 nuxt 服务内部,API baseURL 是本地机器的内部调用,但从客户端来看,baseURL 当然是公共(public)应用程序域。
我可以通过服务器的请求对象,或者配置文件,或者区分运行环境来解决。 我提到的每个选项都可以工作,但现在我正在寻找针对不同客户端与服务器环境变量的最佳实践。
中间件文件:
import axios from 'axios'
export default function ({ route }) {
return axios.get('api/some-data');
}
来自服务器的请求应该调用“http://internal-service:SOME_PORT/api/some-data”。
来自客户端的请求应该调用“http://my-domain.com/api/some-data 。
最佳答案
我在写问题的过程中找到了答案..
在 nuxt.config.js 文件中:
axios: {
baseURL: 'http://internal-service:5000',
browserBaseURL: 'http://my-domain.com' //can use environment variables to fill both..
},
关于javascript - 使用 axios 和 nuxt 的服务器和客户端 API 调用的不同 baseURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57506622/