Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc .Net Core在发布应用程序时对SPA路由问题作出反应_Asp.net Mvc_Reactjs_.net Core_Single Page Application - Fatal编程技术网

Asp.net mvc .Net Core在发布应用程序时对SPA路由问题作出反应

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 =>

我有一个.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 =>
      {
        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");
        }
      });