web-dev-qa-db-ja.com

spa.UseAngularCliServer()ミドルウェアがWebページを提供する方法

Visual Studio 2017(バージョン15.7.2)で.Net Core 2.1 Angularアプリケーションを作成します enter image description here

Spa.UseAngularCliServer()が開発モードでページを提供する方法を知りたいです。

  1. デバッグモードでは、Webページは正常に読み込まれますが、ClientAppまたはwwwrootフォルダーに「dist」フォルダーはありません。 distフォルダーはどこにありますか?

  2. スパミドルウェアがangular-cli devサーバーを起動するように見えますが、Webページは実際にはIIS Expressによってホストされています。 「ng serve」はIIS Expressとどのように関連していますか?

Starup.csのフォーム

app.UseSpa(spa =>
            {
                // To learn more about options for serving an Angular SPA from ASP.NET Core,
                // see https://go.Microsoft.com/fwlink/?linkid=864501

                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    spa.UseAngularCliServer(npmScript: "start");
                }
            });
6
user4143172
  1. Angular CLIによって内部的に使用されるwebpack開発サーバーによってファイルが構築され、メモリ内に保持されるため、distフォルダーは必要ありません。

  2. SPAのリクエストは、IISによってAngular Dev Serverに逆プロキシされます。そのため、IISはブラウザからリクエストを受信します-> IISはangular dev server-> dev serverにリクエストを送信しますIIS-> IISブラウザにデータを送信します。

0
Avin Kavish