首页 > 解决方案 > 我可以在同一个 dotnet spa 应用程序上使用多个 useProxyToSpaDevelopmentServer 吗?

问题描述

我正在尝试使用useProxyToSpaDevelopmentServerMapWhen 在开发环境中使用具有多重反应 spa 的中间件,但它不起作用。

      app.MapWhen(x => !x.Request.Path.Value.StartsWith("/api"), builder =>
      {
        builder.MapWhen(x => x.Request.Path.Value.StartsWith("/counter"), mappedApp =>
        {
          mappedApp.UseSpa(spa =>
          {
            spa.Options.SourcePath = "ClientApp";

            if (env.IsDevelopment())
            {
              // spa.UseReactDevelopmentServer(npmScript: "start");
              spa.UseProxyToSpaDevelopmentServer("http://localhost:3000/counter");
            }
          });
        });

        builder.MapWhen(x => x.Request.Path.Value.StartsWith("/fetch-data"), mappedApp =>
        {
          mappedApp.UseSpa(spa =>
          {
            spa.Options.SourcePath = "ClientApp2";

            if (env.IsDevelopment())
            {
              // spa.UseReactDevelopmentServer(npmScript: "start");
              spa.UseProxyToSpaDevelopmentServer("http://localhost:3001/fetch-data");
            }
          });
        });
      });

我在“5.0.5”版本中使用包“Microsoft.AspNetCore.SpaServices.Extensions”。当我尝试通过 dotnet 执行访问应用程序时,浏览器找不到某些文件:

浏览器网络控制台

标签: reactjs.net-core

解决方案


推荐阅读