AspNetCore.SpaServices Angular2将基本Url设置为子目录以进行预渲染

AspNetCore.SpaServices Angular2将基本Url设置为子目录以进行预渲染,angular,asp.net-core,single-page-application,Angular,Asp.net Core,Single Page Application,我目前正在从事一个基于Microsoft.AspNetCore.SpaServices中包含的SPA Angular应用程序模板的项目。有关模板的信息,请访问 开箱即用的解决方案是直接插入MVC管道,并将任何未映射到现有路由或物理文件的url重定向到预渲染和服务Angular2应用程序的控制器 我想做的是在应用程序中使用一个子目录作为Angular应用程序的唯一入口点和根目录来完成所有这些工作 到目前为止我所做的:(这是基于SPA角度模板和证明问题的最小值!) 从Microsoft SPA Te

我目前正在从事一个基于Microsoft.AspNetCore.SpaServices中包含的SPA Angular应用程序模板的项目。有关模板的信息,请访问

开箱即用的解决方案是直接插入MVC管道,并将任何未映射到现有路由或物理文件的url重定向到预渲染和服务Angular2应用程序的控制器

我想做的是在应用程序中使用一个子目录作为Angular应用程序的唯一入口点和根目录来完成所有这些工作

到目前为止我所做的:(这是基于SPA角度模板和证明问题的最小值!)

  • 从Microsoft SPA Templates创建了一个新项目
    dotnet new angular-n DashboardTest
    dotnet new--安装Microsoft.AspNetCore.spattemplates::*
    以安装模板包)
  • Startup.cs
    中删除所有路由,并替换为
    app.UseMvc()。这意味着只有我明确定义的路由才会被映射
  • 添加了
    [Route(“/dashboard/{*angularRoute}”)]
    属性到
    HomeController上的
    Index()
    操作,以捕获对
    /dashboard
    所选子目录的所有请求,并预渲染angular应用程序(主视图/索引视图已经包含了
    ,可以尝试确定预渲染器从何处获取基本url,但我无法确定。如有任何帮助,将不胜感激


    作为记录,我这样做是为了让我能够干净地扩展现有的MVC应用程序,以便在不进行大量重构的情况下使用Angular2实现新功能。同时,在同一个Web应用程序中运行多个Angular2应用程序也有可能,这可能在以后的工作中证明是有用的。

    James,你对这一点得出过任何结论吗s?@R.Richards遗憾的是没有,我只是最终禁用了预渲染。感谢您的跟进!我对此表示感谢。