1. ホーム
  2. c#

ASP.NET Core 2.1のUseStaticFiles、UseSpaStaticFiles、UseSpaの違いは何ですか?

2023-09-27 02:38:45

質問

ASP.NET Core 2.1.1では、appBuilderに関連すると思われる拡張メソッドがいくつか提供されています。

  • UseStaticFiles から Microsoft.AspNetCore.StaticFiles
  • UseSpaStaticFiles から Microsoft.AspNetCore.SpaServices.Extensions
  • UseSpa から Microsoft.AspNetCore.SpaServices.Extensions

それぞれの目的や関係性を理解するのにお役立てください。

また、これらのメソッドを異なる順序で実行した場合、サーバー実行の観点から何か違いがあるでしょうか?

app.UseStaticFiles() -> app.UseSpaStaticFiles() -> app.UseSpa()

app.UseSpa() -> app.UseSpaStaticFiles() -> app.UseStaticFiles()

どのように解決するのですか?

<ブロッククオート

HTML、CSS、画像、JavaScript などの静的ファイルは、ASP.NET Core アプリがクライアントに直接提供する資産です。 ASP.NET Core アプリがクライアントに直接提供する資産です。これらのファイルの配信を有効にするには、いくつかの構成が必要です。 これらのファイルの配信を有効にするには、いくつかの設定が必要です。

  • UseStaticFiles - Web ルート (wwwroot フォルダ) 内のファイルを提供します。

  • UseSpaStaticFiles - 画像、CSS、JSなどの静的ファイルをangleアプリのassetフォルダに保存する。 フォルダにある静的ファイルを提供します。

  • UseSpa - asp.netコアに、どのディレクトリでangularアプリを実行したいかを知らせます。 を実行したいディレクトリ、本番モードで実行する場合のdistフォルダ、開発モードで実行する場合のコマンドをasp.net coreに知らせます。 開発モードでアンギュラーアプリを実行するためのコマンドを知らせます。

services.AddSpaStaticFiles(configuration =>
{
 configuration.RootPath = "ClientApp/dist";
});

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");
    }
});