我有一个从入门模板 ( )生成的股票aspnetcore
和reactjs
应用程序dotnet new react
。我希望从根 url 的子路径提供 SPA 应用程序;例如,https://localhost:5001/counter
我正在寻找的不是示例应用程序而是从https://localhost:5001/myapp/counter
.
我改变了Startup.cs
从:
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
对此:
app.Map(new Microsoft.AspNetCore.Http.PathString("/myapp"), appMember =>
{
appMember.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
});
这样的作品。如果我浏览https://localhost:5001/myapp/
它似乎加载 index.html,但静态文件正试图从根路径而不是子路径加载。
需要更改什么才能使 react 应用程序使用子路径作为根?我希望它在交互式 VS 开发环境和部署时都能工作,可能在 IIS 上。似乎很接近,但我错过了一些东西。
该解决方案的示例演示可在此处获得:https : //github.com/petertirrell/mvc-spa-demo/tree/master/mvc-spa-demo
谢谢!