首页 > 解决方案 > 我无法访问 wwwroot ASP.NET 和 React.js 上的页面

问题描述

我的项目有问题。
在我描述它之前,我将写下我的发布之路:首先我运行构建前端项目(react),并将构建文件放入 wwwroot(.NET Core Web Api)。
当一切准备就绪(后端和前端在一个解决方案中)我发送到服务器。
现在,当我进入主页并登录时,注册一切正常。问题是当我在登录后尝试进入页面(当我没有登录时),或者进入确认电子邮件页面时,浏览器会显示一个未找到的页面错误。
此外,当我只运行构建文件夹时,所有页面都在工作,并且当我在登录后转到页面时(当我没有登录时),应用程序会将我重定向到登录页面。
下面是我的启动代码:

   public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {


            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();


            }

            app.UseDefaultFiles();
            app.UseStaticFiles();
            app.UseAuthentication();
            app.UseHttpsRedirection();
            app.UseMvc();
        }

       }
}

你有解决这个问题的方法吗?

标签: javascriptc#reactjsasp.net-core

解决方案


您需要添加一些这样的路线:

app.UseSwagger();
app.UseSwaggerUI(
            options =>
            {
                foreach (var description in apiProvider.ApiVersionDescriptions)
                {
                    options.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant());
                }
            });
app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "api",
                template: "api/{controller=Home}/{action=Index}/{id?}");

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

推荐阅读