Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将Angular项目添加到现有的.NET核心Web API项目中?_C#_Angular_Visual Studio_Asp.net Core Webapi - Fatal编程技术网

C# 如何将Angular项目添加到现有的.NET核心Web API项目中?

C# 如何将Angular项目添加到现有的.NET核心Web API项目中?,c#,angular,visual-studio,asp.net-core-webapi,C#,Angular,Visual Studio,Asp.net Core Webapi,我有一个基本的.NETCore3.1WebAPI项目,我用几个端点创建了这个项目。我现在想构建一个客户端来利用这个API。我看到过一些项目的例子,这些项目在其WebAPI项目解决方案中具有角度 如何添加角度项目以便调试和发布工作?或者我应该把两个项目分开 如果不存在,则在api项目中创建wwwroot 在启动时允许app.UseDefaultFiles();app.UseStaticFiles() 推进你的角度ng构建--prod 将您的角度距离放入此wwwroot文件夹 如果不存在,则

我有一个基本的.NETCore3.1WebAPI项目,我用几个端点创建了这个项目。我现在想构建一个客户端来利用这个API。我看到过一些项目的例子,这些项目在其WebAPI项目解决方案中具有角度

如何添加角度项目以便调试和发布工作?或者我应该把两个项目分开

  • 如果不存在,则在api项目中创建
    wwwroot

  • 在启动时允许
    app.UseDefaultFiles();app.UseStaticFiles()

  • 推进你的角度
    ng构建--prod

  • 将您的角度距离放入此
    wwwroot
    文件夹

  • 如果不存在,则在api项目中创建
    wwwroot

  • 在启动时允许
    app.UseDefaultFiles();app.UseStaticFiles()

  • 推进你的角度
    ng构建--prod

  • 将您的角度距离放入此
    wwwroot
    文件夹


  • Microsoft有一个现有的项目模板,该模板将设置一个新的asp.net核心项目,其中angular已在该项目中配置,如果您希望将解决方案基于该模板:
    dotnet new angular

    要手动执行此操作

  • 将源代码移动到web项目内的新文件夹中(而不是
    wwwroot
    )。项目模板将文件夹命名为“ClientApp”
  • 将Microsoft.AspNetCore.SpaServices.Extensions nuget包添加到项目中
  • 在Startup.cs
    ConfigureServices
    中,调用AddSpaStaticFiles并指向angular应用程序将生成的位置
  • services.AddSpaStaticFiles(配置=>
    {
    configuration.RootPath=“ClientApp/dist”;
    });
    
  • 在Startup.cs
    Configure
  • app.UseStaticFiles();
    如果(!env.IsDevelopment())
    {
    app.UseSpaStaticFiles();
    }
    app.UseSpa(spa=>
    {
    //要从ASP.NET Core了解更多有关提供角度SPA的选项,
    //看https://go.microsoft.com/fwlink/?linkid=864501
    spa.Options.SourcePath=“ClientApp”;
    if(env.IsDevelopment())
    {
    spa.UseAngularCliServer(npmScript:“启动”);
    //spa.UseProxyToSpadDevelopmentServer(“http://localhost:4200");
    }
    });
    
  • 在Web项目
    .csproj
    文件中,您可以配置发布步骤以构建angular应用程序:
  • 
    ClientApp\
    $(默认项目除外)$(SpaRoot)节点_模块\**
    %(DistFiles.Identity)
    保存最新
    真的
    
    Microsoft有一个现有的项目模板,该模板将设置一个新的asp.net核心项目,其中angular已在该项目中配置,如果您希望将解决方案基于该模板:
    dotnet new angular

    要手动执行此操作

  • 将源代码移动到web项目内的新文件夹中(而不是
    wwwroot
    )。项目模板将文件夹命名为“ClientApp”
  • 将Microsoft.AspNetCore.SpaServices.Extensions nuget包添加到项目中
  • 在Startup.cs
    ConfigureServices
    中,调用AddSpaStaticFiles并指向angular应用程序将生成的位置
  • services.AddSpaStaticFiles(配置=>
    {
    configuration.RootPath=“ClientApp/dist”;
    });
    
  • 在Startup.cs
    Configure
  • app.UseStaticFiles();
    如果(!env.IsDevelopment())
    {
    app.UseSpaStaticFiles();
    }
    app.UseSpa(spa=>
    {
    //要从ASP.NET Core了解更多有关提供角度SPA的选项,
    //看https://go.microsoft.com/fwlink/?linkid=864501
    spa.Options.SourcePath=“ClientApp”;
    if(env.IsDevelopment())
    {
    spa.UseAngularCliServer(npmScript:“启动”);
    //spa.UseProxyToSpadDevelopmentServer(“http://localhost:4200");
    }
    });
    
  • 在Web项目
    .csproj
    文件中,您可以配置发布步骤以构建angular应用程序:
  • 
    ClientApp\
    $(默认项目除外)$(SpaRoot)节点_模块\**
    %(DistFiles.Identity)
    保存最新
    真的
    
    所以这不需要wwwroot文件夹?不,angular Build dist文件夹包含在项目输出中,启动中的配置确保angular应用程序可以从该输出获得服务。如果在开发阶段足够早,我强烈建议从microsoft project模板开始。因此,这不需要wwwroot文件夹?不,angular Build dist文件夹包含在项目输出中,启动中的配置确保angular应用程序从该输出获得服务。如果在开发阶段足够早,我强烈建议从microsoft project模板开始。