0

我正在使用Next.jsAxios库。

我的 axios 请求如下所示:

axios.get('/api/users/1')

当我在同一个实例中拥有 API 和渲染服务器时,这很有效。但现在我的 API 后端完全分离了。

在开发模式下,它托管在localhost:3001前端(下一个)开发服务器托管在localhost:3000. 在生产中,渲染服务器托管在,https://example.com而 API 托管在https://api.someoherdomain.com.

如何保持 axios 请求干净(无需手动导入内容和为 url 字符串添加前缀),保持它们一样,/api/users/1localhost:3000/api/users/1在运行开发模式和https://example.com/api/users/1托管在生产中时自动生成它们。

我需要像https://github.com/zeit/next.js/tree/master/examples/with-custom-reverse-proxy这样的东西,但要同时在生产和开发模式下工作。

不是推荐的生产规模方法(因此显式开发标志),因为我们应该将代理范围作为 UI 应用程序之外的范围,并有单独的 Web 服务器来处理它。

如果这是不可能的,我正在寻找最优雅的方式来处理这个问题。有什么建议么?

在生产中,我们使用 Plesk(使用 Ngnix)。

4

1 回答 1

0

您可以创建一个axios实例并baseUrl根据环境变量设置参数:) 此处的文档:https ://github.com/mzabriskie/axios#creating-an-instance

于 2017-09-26T11:01:51.423 回答