create-react-app 为什么我们不能允许开发者覆盖text/html请求的代理行为?

2ic8powd  于 2个月前  发布在  React
关注(0)|答案(1)|浏览(35)

首先,这是一个很好的项目,如果这不是记录这个问题的正确仓库,请告诉我它是否属于其他地方,我会将其移动。
问题:
在使用CRA进行开发时,我们可以指定一个代理,以便将请求路由到一个或多个后端,同时CRA服务器处理实际的UI。为了确定是否代理请求还是将其转发到后端,检查请求的Accept头,看它是否期望文本或html响应 - 如果是,则不进行代理。我明白为什么这通常是一个好主意。
问题出现在开发者需要从后端获取特定响应的情况下。这样的场景的一个例子可能是依赖于导航事件触发的重定向授权流程。因此,开发者可能将react中的window.location.href设置为服务器上的具体路径,以便服务器触发挑战并重定向到IDP并完成OAuth/OIDC流程。即使你觉得开发者应该使用不同的方法来处理OAuth/OIDC,也有其他情况,通过将请求转发到后端来响应URL导航可能是有帮助的。
既然开发者知道哪些路径应该提供哪些内容,为什么不让他们在给定路径上说“不,不要尝试在这里提供index.html,无论accept header说什么都要去配置的后端”?让开发者在setupProxy.js中指定这一点似乎是合理的。

相关问题