ASP.NET Core Blazor struktura projektu

Tento článek popisuje soubory a složky, které tvoří Blazor aplikaci vygenerovanou z jedné z Blazor šablon projektů rozhraní.

Blazor WebAssembly

Blazor WebAssembly Šablona projektu: blazorwasm

Blazor WebAssemblyŠablona vytvoří počáteční soubory a strukturu adresářů pro Blazor WebAssembly aplikaci. Aplikace se naplní pomocí demonstračního kódu pro FetchData komponentu, která načte data ze statického prostředku, weather.json a interakce uživatele s Counter komponentou.

  • Pages Složka: obsahuje směrovatelný komponenty/stránky ( .razor ), které tvoří Blazor aplikaci. Trasa pro každou stránku je určena pomocí @page direktivy. Šablona obsahuje následující součásti:

    • Counter Component ( Counter.razor ): implementuje stránku čítače.
    • FetchData Component ( FetchData.razor ): implementuje stránku načíst data.
    • Index Component ( Index.razor ): implementuje Home stránku.
  • Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.

  • Shared Složka: obsahuje následující sdílené komponenty a šablony stylů:

    • MainLayout Component ( MainLayout.razor ): Komponenta rozloženíaplikace.
    • MainLayout.razor.css: Stylesheet pro hlavní rozložení aplikace.
    • NavMenu Component ( NavMenu.razor ): implementuje navigaci bočním panelem. Zahrnuje NavLink komponentu ( NavLink ), která vykresluje navigační odkazy na jiné Razor součásti. NavLinkKomponenta automaticky indikuje vybraný stav při načtení jeho komponenty, což pomáhá uživateli pochopit, která součást se aktuálně zobrazuje.
    • NavMenu.razor.css: Stylesheet pro navigační nabídku aplikace.
    • SurveyPrompt Component ( SurveyPrompt.razor ): Blazor součást průzkumu.
  • wwwroot: Kořenová složka webu pro aplikaci, která obsahuje veřejné statické prostředky aplikace, včetně appsettings.json a souborů nastavení aplikace v prostředí pro nastavení konfigurace. index.htmlWebová stránka je kořenová stránka aplikace implementované jako stránka HTML:

    • Po prvním vyžádání stránky aplikace se tato stránka vykreslí a vrátí v odpovědi.
    • Stránka určuje, kde App je vygenerována kořenová komponenta. Komponenta je vykreslena v umístění div elementu modelu DOM s příponou id app ( <div id="app">Loading...</div> ).

Poznámka

Soubory JavaScriptu (JS) přidané do wwwroot/index.html souboru by měly být před uzavírací </body> značkou. Pořadí, ve kterém je vlastní kód JS načten ze souborů JS je v některých scénářích důležité. Ujistěte se například, že soubory JS s metodami interoperability jsou zahrnuty před Blazor soubory rozhraní Framework js.

  • _Imports.razor: Obsahuje společné Razor direktivy, které se mají zahrnout do komponent aplikace (), jako jsou například .razor @using direktivy pro obory názvů.

  • App.razor: Kořenová komponenta aplikace, která nastaví směrování na straně klienta pomocí Router komponenty. RouterKomponenta zachycuje navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.

  • Program.cs: Vstupní bod aplikace, který nastavuje hostitele WebAssembly:

    • AppSoučást je kořenová komponenta aplikace. AppKomponenta je určena jako div prvek modelu DOM s id app ( <div id="app">Loading...</div> v wwwroot/index.html ) pro kolekci kořenových komponent ( builder.RootComponents.Add<App>("#app") ).
    • Služby jsou přidány a nakonfigurovány (například builder.Services.AddSingleton<IMyDependency, MyDependency>() ).

Blazor Server

Blazor Server Šablona projektu: blazorserver

Blazor ServerŠablona vytvoří počáteční soubory a strukturu adresářů pro Blazor Server aplikaci. Aplikace se naplní pomocí demonstračního kódu pro FetchData komponentu, která načte data z registrované služby, WeatherForecastService a interakce uživatele s Counter komponentou.

  • Data Složka: obsahuje WeatherForecast třídu a implementaci rozhraní WeatherForecastService , které poskytuje ukázková data o počasí FetchData součásti aplikace.

  • Pages Složka: obsahuje směrovatelný komponenty/stránky ( .razor ), které tvoří Blazor aplikaci a kořenovou Razor stránku Blazor Server aplikace. Trasa pro každou stránku je určena pomocí @page direktivy. Šablona obsahuje následující:

    • _Host.cshtml: Kořenová stránka aplikace byla implementována jako Razor stránka:
      • Po prvním vyžádání stránky aplikace se tato stránka vykreslí a vrátí v odpovědi.
      • Stránka hostitel Určuje, kde App App.razor je vygenerována kořenová součást ().
    • _Layout.cshtml: Stránka rozložení pro _Host.cshtml kořenovou stránku aplikace
    • Counter Component ( Counter.razor ): implementuje stránku čítače.
    • Error Component ( Error.razor ): vykreslená, když v aplikaci dojde k neošetřené výjimce.
    • FetchData Component ( FetchData.razor ): implementuje stránku načíst data.
    • Index Component ( Index.razor ): implementuje Home stránku.

Poznámka

Soubory JavaScriptu (JS) přidané do Pages/_Layout.cshtml souboru by měly být před uzavírací </body> značkou. Pořadí, ve kterém je vlastní kód JS načten ze souborů JS je v některých scénářích důležité. Ujistěte se například, že soubory JS s metodami interoperability jsou zahrnuty před Blazor soubory rozhraní Framework js.

  • Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.

  • Shared Složka: obsahuje následující sdílené komponenty a šablony stylů:

    • MainLayout Component ( MainLayout.razor ): Komponenta rozloženíaplikace.
    • MainLayout.razor.css: Stylesheet pro hlavní rozložení aplikace.
    • NavMenu Component ( NavMenu.razor ): implementuje navigaci bočním panelem. Zahrnuje NavLink komponentu ( NavLink ), která vykresluje navigační odkazy na jiné Razor součásti. NavLinkKomponenta automaticky indikuje vybraný stav při načtení jeho komponenty, což pomáhá uživateli pochopit, která součást se aktuálně zobrazuje.
    • NavMenu.razor.css: Stylesheet pro navigační nabídku aplikace.
    • SurveyPrompt Component ( SurveyPrompt.razor ): Blazor součást průzkumu.
  • wwwroot: Kořenová složka webu pro aplikaci, která obsahuje veřejné statické prostředky aplikace.

  • _Imports.razor: Obsahuje společné Razor direktivy, které se mají zahrnout do komponent aplikace (), jako jsou například .razor @using direktivy pro obory názvů.

  • App.razor: Kořenová komponenta aplikace, která nastaví směrování na straně klienta pomocí Router komponenty. RouterKomponenta zachycuje navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.

  • appsettings.json a soubory nastavení aplikace v prostředí: zadejte konfigurační nastavení aplikace.

  • Program.cs: vstupní bod aplikace, který nastavuje ASP.NET Core hostitele a obsahuje logiku spouštění aplikace, včetně registrací služby a konfigurace kanálu zpracování požadavků:

    • Určuje služby pro vkládání závislostí (di) aplikace. Služby jsou přidány voláním AddServerSideBlazor a WeatherForecastService je přidána do kontejneru služby pro použití v ukázkové FetchData součásti.
    • Nakonfiguruje kanál pro zpracování požadavků aplikace:
      • MapBlazorHub je volána k nastavení koncového bodu pro připojení v reálném čase pomocí prohlížeče. Připojení se vytvoří pomocí SignalR , což je rozhraní, které umožňuje přidávat do aplikací webové funkce v reálném čase.
      • MapFallbackToPage("/_Host") se volá, aby se nastavila Kořenová stránka aplikace ( Pages/_Host.cshtml ) a povolila se navigace.

Další zdroje informací

Tento článek popisuje soubory a složky, které tvoří Blazor aplikaci vygenerovanou z jedné z Blazor šablon projektů rozhraní. Informace o tom, jak pomocí nástrojů vytvořit Blazor aplikaci ze Blazor šablony projektu, naleznete v tématu Nástroje pro ASP.NET Core Blazor . Informace o Blazor modelech hostování a naleznete Blazor WebAssembly Blazor Server v tématu BlazorASP.NET Core modely hostování .

Blazor WebAssembly

Blazor WebAssembly Šablona projektu: blazorwasm

Blazor WebAssemblyŠablona vytvoří počáteční soubory a strukturu adresářů pro Blazor WebAssembly aplikaci. Aplikace se naplní pomocí demonstračního kódu pro FetchData komponentu, která načte data ze statického prostředku, weather.json a interakce uživatele s Counter komponentou.

  • Pages Složka: obsahuje směrovatelný komponenty/stránky ( .razor ), které tvoří Blazor aplikaci. Trasa pro každou stránku je určena pomocí @page direktivy. Šablona obsahuje následující součásti:

    • Counter Component ( Counter.razor ): implementuje stránku čítače.
    • FetchData Component ( FetchData.razor ): implementuje stránku načíst data.
    • Index Component ( Index.razor ): implementuje Home stránku.
  • Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.

  • Shared Složka: obsahuje následující sdílené komponenty a šablony stylů:

    • MainLayout Component ( MainLayout.razor ): Komponenta rozloženíaplikace.
    • MainLayout.razor.css: Stylesheet pro hlavní rozložení aplikace.
    • NavMenu Component ( NavMenu.razor ): implementuje navigaci bočním panelem. Zahrnuje NavLink komponentu ( NavLink ), která vykresluje navigační odkazy na jiné Razor součásti. NavLinkKomponenta automaticky indikuje vybraný stav při načtení jeho komponenty, což pomáhá uživateli pochopit, která součást se aktuálně zobrazuje.
    • NavMenu.razor.css: Stylesheet pro navigační nabídku aplikace.
    • SurveyPrompt Component ( SurveyPrompt.razor ): Blazor součást průzkumu.
  • wwwroot: Kořenová složka webu pro aplikaci, která obsahuje veřejné statické prostředky aplikace, včetně appsettings.json a souborů nastavení aplikace v prostředí pro nastavení konfigurace. index.htmlWebová stránka je kořenová stránka aplikace implementované jako stránka HTML:

    • Při počátečním vyžádání jakékoli stránky aplikace se tato stránka vykreslí a vrátí v odpovědi.
    • Stránka určuje, kde se App vykreslí kořenová komponenta. Komponenta se vykreslí v umístění elementu div modelu DOM s id objektem ( app <div id="app">Loading...</div> ).

Poznámka

Soubory JavaScriptu (JS) přidané do souboru by wwwroot/index.html se měly zobrazit před ukončovací </body> značkou. Pořadí načítání vlastního kódu JS ze souborů JS je v některých scénářích důležité. Například se ujistěte, že soubory JS s metodami spolupráce jsou zahrnuté před Blazor soubory JS architektury.

  • _Imports.razor: Obsahuje běžné Razor direktivy, které se mají zahrnout do komponent aplikace ( .razor ), jako jsou @using direktivy pro obory názvů.

  • App.razor: Kořenová komponenta aplikace, která nastaví směrování na straně klienta pomocí Router komponenty . Komponenta Router zachycuje navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.

  • Program.cs: Vstupní bod aplikace, který nastaví hostitele WebAssembly:

    • Komponenta App je kořenovou součástí aplikace. Komponenta App je zadána jako div prvek modelu DOM s id hodnotou ( v app souboru ) do kolekce <div id="app">Loading...</div> wwwroot/index.html kořenových komponent ( builder.RootComponents.Add<App>("#app") ).
    • Služby se přidávají a konfiguruje (například builder.Services.AddSingleton<IMyDependency, MyDependency>() ).

Blazor Server

Blazor Server šablona projektu: blazorserver

Šablona Blazor Server vytvoří počáteční soubory a adresářovou strukturu pro Blazor Server aplikaci. Aplikace je naplněna ukázkovým kódem pro komponentu, která načítá data z registrované služby, a interakci uživatele FetchData WeatherForecastService s Counter komponentou.

  • Data složka: Obsahuje třídu a implementaci , která komponentě aplikace poskytuje příklad dat WeatherForecast WeatherForecastService o FetchData počasí.

  • Pages folder: Obsahuje směrovatelné komponenty/stránky ( ), které tvoří .razor Blazor Razor aplikaci, a kořenovou stránku Blazor Server aplikace. Trasa pro každou stránku se zadá pomocí @page direktivy . Šablona obsahuje následující položky:

    • _Host.cshtml: Kořenová stránka aplikace implementovaná jako Razor stránka:
      • Při počátečním vyžádání jakékoli stránky aplikace se tato stránka vykreslí a vrátí v odpovědi.
      • Stránka Hostitel určuje, kde se App vykreslí App.razor kořenová komponenta ( ).
    • Counter component ( Counter.razor ): Implementuje stránku Čítač.
    • Error component ( Error.razor ): Zobrazí se, když v aplikaci dojde k neošetřené výjimce.
    • FetchData component ( FetchData.razor ): Implementuje stránku Načíst data.
    • Index component ( Index.razor ): Implementuje Home stránku.

Poznámka

Soubory JavaScriptu (JS) přidané do souboru by Pages/_Host.cshtml se měly zobrazit před ukončovací </body> značkou. Pořadí načítání vlastního kódu JS ze souborů JS je v některých scénářích důležité. Například se ujistěte, že soubory JS s metodami spolupráce jsou zahrnuté před Blazor soubory JS architektury.

  • Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.

  • Shared folder: Obsahuje následující sdílené komponenty a šablony stylů:

    • MainLayout component ( MainLayout.razor ): Komponenta rozložení aplikace.
    • MainLayout.razor.css: Šablony stylů pro hlavní rozložení aplikace.
    • NavMenu component ( NavMenu.razor ): Implementuje navigaci na bočním panelu. Zahrnuje NavLink komponentu ( NavLink ), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta automaticky indikuje vybraný stav při načtení její komponenty, což uživateli pomůže pochopit, která NavLink komponenta je aktuálně zobrazena.
    • NavMenu.razor.css: Šablony stylů pro navigační nabídku aplikace.
    • SurveyPrompt component ( SurveyPrompt.razor ): Blazor součást průzkumu.
  • wwwroot: Kořenová složka webu pro aplikaci obsahující veřejné statické prostředky aplikace.

  • _Imports.razor: Obsahuje běžné Razor direktivy, které se mají zahrnout do komponent aplikace ( .razor ), jako jsou @using direktivy pro obory názvů.

  • App.razor: Kořenová komponenta aplikace, která nastaví směrování na straně klienta pomocí Router komponenty . Komponenta Router zachycuje navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.

  • appsettings.json a soubory nastavení aplikace prostředí: Zadejte nastavení konfigurace aplikace.

  • Program.cs: Vstupní bod aplikace, který nastaví hostitele ASP.NET Core .

  • Startup.cs: Obsahuje logiku spouštění aplikace. Třída Startup definuje dvě metody:

    • ConfigureServices: Nakonfiguruje služby injektáže závislostí (DI) aplikace. Služby se přidávají voláním a se přidávají do kontejneru služby pro AddServerSideBlazor WeatherForecastService použití v příkladu FetchData komponenty.
    • Configure: Nakonfiguruje kanál zpracování požadavků aplikace:
      • MapBlazorHub se volá k nastavení koncového bodu pro připojení v reálném čase k prohlížeči. Připojení se vytvoří pomocí , což je rozhraní pro přidávání webových funkcí v reálném SignalR čase do aplikací.
      • MapFallbackToPage("/_Host") se volá k nastavení kořenové stránky aplikace ( ) a Pages/_Host.cshtml povolení navigace.

Další zdroje informací

Tento článek popisuje soubory a složky, ze které se vytvoří aplikace vygenerovaná z jedné ze šablon projektů Blazor Blazor architektury. Informace o tom, jak pomocí nástrojů vytvořit aplikaci Blazor ze Blazor šablony projektu, najdete v tématu Nástroje pro ASP.NET Core Blazor . Informace o Blazor modelech hostování a Blazor WebAssembly najdete v tématu Blazor Server BlazorASP.NET Core modely hostování .

Blazor WebAssembly

Blazor WebAssembly šablona projektu: blazorwasm

Šablona Blazor WebAssembly vytvoří počáteční soubory a adresářovou strukturu pro Blazor WebAssembly aplikaci. Aplikace je naplněna ukázkovým kódem pro komponentu, která načítá data ze statického assetu, a interakci uživatele FetchData weather.json s Counter komponentou.

  • Pages folder: Obsahuje směrovatelné komponenty/stránky ( .razor ), které tvoří Blazor aplikaci. Trasa pro každou stránku se zadá pomocí @page direktivy . Šablona obsahuje následující komponenty:

    • Counter component ( Counter.razor ): Implementuje stránku Čítač.
    • FetchData component ( FetchData.razor ): Implementuje stránku Načíst data.
    • Index component ( Index.razor ): Implementuje Home stránku.
  • Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.

  • Shared folder: Obsahuje následující sdílené součásti:

    • MainLayout component ( MainLayout.razor ): Komponenta rozložení aplikace.
    • NavMenu component ( NavMenu.razor ): Implementuje navigaci na bočním panelu. Zahrnuje NavLink komponentu ( NavLink ), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta automaticky indikuje vybraný stav při načtení její komponenty, což uživateli pomůže pochopit, která NavLink komponenta je aktuálně zobrazena.
    • SurveyPrompt component ( SurveyPrompt.razor ): Blazor součást průzkumu.
  • wwwroot: Kořenová složka webu pro aplikaci obsahující veřejné statické prostředky aplikace, včetně souborů nastavení aplikace prostředí pro appsettings.json nastavení konfigurace. Webová index.html stránka je kořenovou stránkou aplikace implementované jako stránka HTML:

    • Při počátečním vyžádání jakékoli stránky aplikace se tato stránka vykreslí a vrátí v odpovědi.
    • Stránka určuje, kde se App vykreslí kořenová komponenta. Komponenta se vykreslí v umístění elementu app modelu DOM ( <app>Loading...</app> ).

Poznámka

Soubory JavaScriptu (JS) přidané do souboru by wwwroot/index.html se měly zobrazit před ukončovací </body> značkou. Pořadí načítání vlastního kódu JS ze souborů JS je v některých scénářích důležité. Například se ujistěte, že soubory JS s metodami spolupráce jsou zahrnuté před Blazor soubory JS architektury.

  • _Imports.razor: Obsahuje běžné Razor direktivy, které se mají zahrnout do komponent aplikace ( .razor ), jako jsou @using direktivy pro obory názvů.

  • App.razor: Kořenová komponenta aplikace, která nastaví směrování na straně klienta pomocí Router komponenty . Komponenta Router zachycuje navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.

  • Program.cs: Vstupní bod aplikace, který nastaví hostitele WebAssembly:

    • Komponenta App je kořenovou součástí aplikace. Komponenta App je zadána jako app element modelu DOM ( v souboru ) do kolekce <app>Loading...</app> wwwroot/index.html kořenových součástí ( builder.RootComponents.Add<App>("app") ).
    • Služby se přidávají a konfiguruje (například builder.Services.AddSingleton<IMyDependency, MyDependency>() ).

Blazor Server

Blazor Server šablona projektu: blazorserver

Šablona Blazor Server vytvoří počáteční soubory a adresářovou strukturu pro Blazor Server aplikaci. Aplikace je naplněna ukázkovým kódem pro komponentu, která načítá data z registrované služby, a interakci uživatele FetchData WeatherForecastService s Counter komponentou.

  • Data složka: Obsahuje třídu a implementaci , která komponentě aplikace poskytuje příklad dat WeatherForecast WeatherForecastService o FetchData počasí.

  • Pages folder: Obsahuje směrovatelné komponenty/stránky ( ), které tvoří .razor Blazor Razor aplikaci, a kořenovou stránku Blazor Server aplikace. Trasa pro každou stránku se zadá pomocí @page direktivy . Šablona obsahuje následující položky:

    • _Host.cshtml: Kořenová stránka aplikace implementovaná jako Razor stránka:
      • Při počátečním vyžádání jakékoli stránky aplikace se tato stránka vykreslí a vrátí v odpovědi.
      • Stránka Hostitel určuje, kde se App vykreslí App.razor kořenová komponenta ( ).
    • Counter component ( Counter.razor ): Implementuje stránku Čítač.
    • Error component ( Error.razor ): Zobrazí se, když v aplikaci dojde k neošetřené výjimce.
    • FetchData component ( FetchData.razor ): Implementuje stránku Načíst data.
    • Index component ( Index.razor ): Implementuje Home stránku.

Poznámka

Soubory JavaScriptu (JS) přidané do Pages/_Host.cshtml souboru by se měly zobrazit před ukončovací </body> značkou. Pořadí načítání vlastního kódu JS ze souborů JS je v některých scénářích důležité. Například se ujistěte, že soubory JS s metodami spolupráce jsou zahrnuté před Blazor soubory JS architektury.

  • Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.

  • Shared folder: Obsahuje následující sdílené součásti:

    • MainLayout component ( MainLayout.razor ): Komponenta rozložení aplikace.
    • NavMenu component ( NavMenu.razor ): Implementuje navigaci na bočním panelu. Zahrnuje NavLink komponentu ( NavLink ), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta automaticky indikuje vybraný stav při načtení její komponenty, což uživateli pomůže pochopit, která NavLink komponenta je aktuálně zobrazena.
    • SurveyPrompt component ( SurveyPrompt.razor ): Blazor součást průzkumu.
  • wwwroot: Kořenová složka webu pro aplikaci obsahující veřejné statické prostředky aplikace.

  • _Imports.razor: Obsahuje běžné Razor direktivy, které se mají zahrnout do komponent aplikace ( .razor ), jako jsou @using direktivy pro obory názvů.

  • App.razor: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router komponenty . Komponenta Router zachycuje navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.

  • appsettings.json a soubory nastavení aplikace prostředí: Zadejte nastavení konfigurace aplikace.

  • Program.cs: Vstupní bod aplikace, který nastaví hostitele ASP.NET Core .

  • Startup.cs: Obsahuje logiku spuštění aplikace. Třída Startup definuje dvě metody:

    • ConfigureServices: Nakonfiguruje služby injektáže závislostí (DI) aplikace. Služby se přidávají voláním a se přidávají do kontejneru služby pro AddServerSideBlazor WeatherForecastService použití v příkladu FetchData komponenty.
    • Configure: Nakonfiguruje kanál zpracování požadavků aplikace:
      • MapBlazorHub se volá k nastavení koncového bodu pro připojení v reálném čase k prohlížeči. Připojení se vytvoří pomocí , což je rozhraní pro přidávání webových funkcí v reálném SignalR čase do aplikací.
      • MapFallbackToPage("/_Host") se volá k nastavení kořenové stránky aplikace ( ) a Pages/_Host.cshtml povolení navigace.

Další materiály