在生产中,我的Django提供对Django REST服务的所有API调用(/api
),其余(/
)提供React静态文件。
因此,当我的React调用服务时,它只是通过调用/api
来调用API。
但是,它在开发中引起问题。 python manage.py runserver
在localhost:8000
中提供Django REST。
localhost:3000
的{{1}}可以访问React网站。这是一个问题,因为npm start
调用/api
而不是localhost:3000/api
。
为了让Django在本地提供React代码,我们必须编译React代码,这样做每次修改都非常昂贵。
解决此问题的最佳方法是什么? Django开发服务器是否应该以某种方式将流量从localhost:8000/api
重定向到8000
?还是React开发服务器重定向?
答案 0 :(得分:2)
如果您使用的是Create React App,则可以通过/api
中的proxy
字段控制将所有package.json
请求代理到什么。
package.json
{
"proxy": "http://localhost:8000"
}