Asp.net mvc .Net Core在发布应用程序时对SPA路由问题作出反应
我有一个.net core 2.2 SPA,前端使用react。在react端,我只需使用href就可以对后端进行GET调用Asp.net mvc .Net Core在发布应用程序时对SPA路由问题作出反应,asp.net-mvc,reactjs,.net-core,single-page-application,Asp.net Mvc,Reactjs,.net Core,Single Page Application,我有一个.net core 2.2 SPA,前端使用react。在react端,我只需使用href就可以对后端进行GET调用 <a href={`http://localhost:5004/api/Reports?team=${this.state.teamName}&project=${this.state.projectName}`} class="button">Submit</a> 以及UseSpa部分 app.UseSpa(spa =>
<a href={`http://localhost:5004/api/Reports?team=${this.state.teamName}&project=${this.state.projectName}`} class="button">Submit</a>
以及UseSpa部分
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
发布路由时与通过visual studio运行路由时,什么会导致路由行为不同?因此我偶然发现了一个与此非常类似的问题。我正在使用VS2019开发一个ASP.NET Core/ReactJS应用程序。在开发时,在调用.NET API后端方面一切正常,但是当我部署到生产环境中时,在浏览器中导航到API调用的路径会导致返回React应用程序,而不是API调用。如果我在浏览器中对这些页面进行了硬重新加载,将返回API响应,而不是React应用程序 我通过删除对registerServiceWorker的调用解决了这个问题,该调用默认包含在项目的React/JS部分中。通过使用浏览器开发工具(F12)并选择应用程序选项卡,我可以检查是否存在服务工作
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});