Да, вы можете. Создайте папку для своего приложения SPA, например ClientApp
, и внутри этой папки создайте обычное приложение Angular / React.
Затем в вашем файле startup.cs внутри Configure
после UseAuthentication
и UseMvc
:
app.UseSpa(config =>
{
config.Options.SourcePath = "ClientApp"; // your SPA path
if (env.IsDevelopment())
config.UseProxyToSpaDevelopmentServer("http://localhost:4200"); // your SPA server
});
И теперь вы можете запросить к порту вашего приложения .NET, и если он не совпадет с UseMvc
, он будет перенаправлен в ваш SPA.
Для публикации необходимо указать .NET, где искать, например, внутри ConfigureServices
:
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist"; // your publish path
});
Документация SPA