繁体   English   中英

用ng服务和dotnet核心Angular启动Angular

[英]Launch Angular with ng serve with dotnet core Angular

我已经使用dotnet核心CLI创建了一个新的Angular项目:

dotnet new angular -o my-app

我已经在项目外部设置了自己的部署和构建过程,因此,在构建和部署方面,我的项目本质上是愚蠢的。 我的项目永远不要构建任何.js文件并将其本地存储在项目中。 这基本上是我想要的:

  1. 我按F5 /启动调试器
  2. dotnet核心项目启动并运行npm install && ng serve
  3. 完成后或需要时,浏览器将打开并显示ng serve站点(我认为默认值为http://localhost:4200

到目前为止,我已经接近使它生效,但是由于某种原因,dotnet核心项目为我提供了我不需要的静态文件(因为我想从ng serve重新加载)。 我现在可以做的是:

  1. 按F5启动调试器
  2. 随即显示一个ng窗口,其中包含调试信息,其中显示了诸如npm installng serve已运行
  3. 打开http://localhost:5000 ,它为我提供静态文件,就好像我使用ng build应用程序一样

如果我能解释我真正想要的是:

  1. 按F5启动调试器
  2. 项目启动并显示ng窗口,显示我已运行npm install && ng serve -port 4200
  3. 浏览器启动http:// localhost:4200

现在,它在打开5000端口(或不管我在指定launchSettings.json文件),但我不能把它推出4200,因为技术上我不希望我的dotnet的核心项目,开始一个新的Web服务器(因为ng serve已经创建了一个)。 这可能吗?

package.json

"scripts": {
    "start": "npm install && ng serve --port 4200 &REM"
}

启动文件

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
        }

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

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

我发现了这个

简而言之,您必须在Startup.cs替换以下行

spa.UseAngularCliServer(npmScript: "start");

spa.UseProxyToSpaDevelopmentServer("NG-SERVER-URL");

您必须运行一次ng serve ,这将告诉您正在监听的url( NG-SERVER-URL

此修改允许在单独的过程中运行ng serve Asp.Net将连接并调度对其的调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM