Проблемы с маршрутизацией .Net Core React SPA при публикации приложения - PullRequest
1 голос
/ 29 октября 2019

У меня есть .net core 2.2 SPA, использующий реагирование для внешнего интерфейса. На стороне реакции я делаю GET-вызов к бэкэнду, просто используя href.

<a href={`http://localhost:5004/api/Reports?team=${this.state.teamName}&project=${this.state.projectName}`} class="button">Submit</a>

Когда я отлаживаю приложение из Visual Studio, маршрутизация обрабатывается правильно, и он вызывает бэкэнд-контроллер и загружаетфайл.

Когда я публикую приложение как автономный exe-файл, кажется, что реагирующее приложение перехватывает маршрут, поэтому он отображает URL-адрес резервного SPA, когда нажимается кнопка и когда я пытаюсь выполнить этот вызов API. непосредственно в браузере.

Я пытался удалить раздел MapSpaFallbackRoute из app.UseMVC, а также передать полный URL-адрес и частичный, в любом случае он не будет правильно направлен на контроллер.

Ниже приведена маршрутизация при запуске

app.UseMvc(routes =>
      {
        routes.MapRoute(
                  name: "default",
                  template: "{controller}/{action=Index}/{id?}");

        routes.MapSpaFallbackRoute(
          name: "spa-fallback",
          defaults: new { controller = "Home", action = "Index" });
      });

, а также раздел UseSpa

app.UseSpa(spa =>
      {
        spa.Options.SourcePath = "ClientApp";

        if (env.IsDevelopment())
        {
          spa.UseReactDevelopmentServer(npmScript: "start");
        }
      });

Что может привести к тому, что маршрутизация будет вести себя по-разному при публикации и запуске через Visual Studio?

...