首先,需要创建一个ASP.NET Core项目和一个Angular项目。
ASP.NET Core项目:
using Microsoft.AspNetCore.Mvc;
namespace MyProject.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class MyController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok("Hello from ASP.NET Core!");
}
}
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace MyProject
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapFallbackToFile("index.html"); // 配置静态路由
});
}
}
}
Angular项目:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: '**', component: HomeComponent } // 配置通配符路由,将所有未匹配的路由重定向到HomeComponent
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
Hello from Angular!
现在,当访问ASP.NET Core项目的根URL时,将会加载Angular项目的内容。并且,如果在浏览器地址栏中输入任何未匹配的URL,都会重定向到HomeComponent。