Angular 如何调用外部HTML 7+;净核心?

Angular 如何调用外部HTML 7+;净核心?,angular,angular-ui-router,angular7,Angular,Angular Ui Router,Angular7,我有两个应用程序同时运行,第一个是Angular 7+asp内核中的新实现,第二个是Angular中的遗留应用程序 asp mvc 5(没有Angular应用程序,即HTML不实现任何Angular代码),问题是我们希望慢慢摆脱遗留应用程序。 为此,我们决定为服务器中的遗留应用程序调用某些控制器(mvc5)呈现程序,因此对/legacy/menu的调用将返回一个包含遗留应用程序菜单的html 如何巧妙地欺骗Angular 7组件,以便在调用RouterModule时返回/legacy/menuh

我有两个应用程序同时运行,第一个是Angular 7+asp内核中的新实现,第二个是Angular中的遗留应用程序 asp mvc 5(没有Angular应用程序,即HTML不实现任何Angular代码),问题是我们希望慢慢摆脱遗留应用程序。 为此,我们决定为服务器中的遗留应用程序调用某些控制器(mvc5)呈现程序,因此对
/legacy/menu
的调用将返回一个包含遗留应用程序菜单的html

如何巧妙地欺骗Angular 7组件,以便在调用RouterModule时返回
/legacy/menu
html? 我知道这不是角度概念,而是我们想要的两个组件“一个用于新应用程序”和另一个“用于旧版本”,
在我们实现新版本的同时,使用旧版本的step组件。所有这些都是进行转换的临时想法。

您只需创建一个新的角度项目模板,然后看看他们是如何完成的。有一种更方便的方法。或者,您可以使用StaticFiles设置静态文件服务

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // For the wwwroot folder

    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images")),
        RequestPath = "/MyImages"
    });

    app.UseDirectoryBrowser(new DirectoryBrowserOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images")),
        RequestPath = "/MyImages"
    });
}  
有关Mor信息,请签出的Microsoft帮助页

您可以使用SPA的内置方法获得更精确的控制

app.UseSpa(spa =>
{
    spa.Options.SourcePath = "ClientApp";

    spa.UseSpaPrerendering(options =>
    {
        options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.bundle.js";
        options.BootModuleBuilder = env.IsDevelopment()
            ? new AngularCliBuilder(npmScript: "build:ssr")
            : null;
        options.ExcludeUrls = new[] { "/sockjs-node" };
    });

    if (env.IsDevelopment())
    {
        spa.UseAngularCliServer(npmScript: "start");
    }
});

以下是

Hi@johnny 5“/legacy/menu”是一个控制器操作调用。但是我怎么才能欺骗Angular组件呢?只需调用httpClient.get?@gvivetapl这是含糊不清的,你是指和ASP.Net控制器动作,还是Angular控制器动作,如果您发布了现有代码或示例代码,这些代码清楚地描述了问题,那么解决问题就会容易得多。我的意思是,我有一个ASP.Net控制器操作,带有html结果,我想在Angular 7客户端检索html,html不实现任何Angular代码。@gvivetapi,让我尝试澄清一下,因为您在评论和问题中所说的是不同的,所以您是否试图从.net核心控制器提供html,该控制器将映射到应用程序中的路由?