【发布时间】:2018-03-06 14:21:00
【问题描述】:
我正在使用 Next.js 和 Axios 库。
我的 axios 请求如下所示:
axios.get('/api/users/1')
当我在同一个实例中拥有 API 和渲染服务器时,这很有效。 但现在我的 API 后端完全分离了。
在开发模式下,它托管在localhost:3001,而前端(下一个)开发服务器托管在localhost:3000。在生产中,渲染服务器托管在https://example.com,而API 托管在https://api.someoherdomain.com。
如何保持 axios 请求干净(无需手动导入内容并为 url 字符串添加前缀),保持它们像 /api/users/1,但在运行开发模式时自动将它们设为 localhost:3000/api/users/1,而在生产中托管时自动将它们设为 https://example.com/api/users/1。
我需要像 https://github.com/zeit/next.js/tree/master/examples/with-custom-reverse-proxy 这样的东西,但要同时在生产和开发模式下工作。
不是推荐的生产规模方法(因此 显式开发标志),因为我们应该将代理范围视为 UI 应用程序之外 并有单独的网络服务器来处理。
如果这是不可能的,我正在寻找最优雅的方式来处理这个问题。有什么建议吗?
在生产中,我们使用 Plesk(使用 Ngnix)。
【问题讨论】:
标签: ajax webpack http-proxy nextjs