簡體   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