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.
PagesSložka: obsahuje směrovatelný komponenty/stránky (.razor), které tvoří Blazor aplikaci. Trasa pro každou stránku je určena pomocí@pagedirektivy. Šablona obsahuje následující součásti:CounterComponent (Counter.razor): implementuje stránku čítače.FetchDataComponent (FetchData.razor): implementuje stránku načíst data.IndexComponent (Index.razor): implementuje Home stránku.
Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.SharedSložka: obsahuje následující sdílené komponenty a šablony stylů:MainLayoutComponent (MainLayout.razor): Komponenta rozloženíaplikace.MainLayout.razor.css: Stylesheet pro hlavní rozložení aplikace.NavMenuComponent (NavMenu.razor): implementuje navigaci bočním panelem. ZahrnujeNavLinkkomponentu ( 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.SurveyPromptComponent (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.jsona 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
Appje vygenerována kořenová komponenta. Komponenta je vykreslena v umístěnídivelementu modelu DOM s příponouidapp(<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@usingdirektivy 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 jakodivprvek modelu DOM sidapp(<div id="app">Loading...</div>vwwwroot/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.
DataSložka: obsahujeWeatherForecasttřídu a implementaci rozhraníWeatherForecastService, které poskytuje ukázková data o počasíFetchDatasoučásti aplikace.PagesSlož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í@pagedirektivy. Š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
AppApp.razorje vygenerována kořenová součást ().
_Layout.cshtml: Stránka rozložení pro_Host.cshtmlkořenovou stránku aplikaceCounterComponent (Counter.razor): implementuje stránku čítače.ErrorComponent (Error.razor): vykreslená, když v aplikaci dojde k neošetřené výjimce.FetchDataComponent (FetchData.razor): implementuje stránku načíst data.IndexComponent (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í.SharedSložka: obsahuje následující sdílené komponenty a šablony stylů:MainLayoutComponent (MainLayout.razor): Komponenta rozloženíaplikace.MainLayout.razor.css: Stylesheet pro hlavní rozložení aplikace.NavMenuComponent (NavMenu.razor): implementuje navigaci bočním panelem. ZahrnujeNavLinkkomponentu ( 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.SurveyPromptComponent (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@usingdirektivy 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.jsona 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
WeatherForecastServiceje přidána do kontejneru služby pro použití v ukázkovéFetchDatasoučá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.
- Určuje služby pro vkládání závislostí (di) aplikace. Služby jsou přidány voláním AddServerSideBlazor a
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.
PagesSložka: obsahuje směrovatelný komponenty/stránky (.razor), které tvoří Blazor aplikaci. Trasa pro každou stránku je určena pomocí@pagedirektivy. Šablona obsahuje následující součásti:CounterComponent (Counter.razor): implementuje stránku čítače.FetchDataComponent (FetchData.razor): implementuje stránku načíst data.IndexComponent (Index.razor): implementuje Home stránku.
Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.SharedSložka: obsahuje následující sdílené komponenty a šablony stylů:MainLayoutComponent (MainLayout.razor): Komponenta rozloženíaplikace.MainLayout.razor.css: Stylesheet pro hlavní rozložení aplikace.NavMenuComponent (NavMenu.razor): implementuje navigaci bočním panelem. ZahrnujeNavLinkkomponentu ( 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.SurveyPromptComponent (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.jsona 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
Appvykreslí kořenová komponenta. Komponenta se vykreslí v umístění elementudivmodelu DOM sidobjektem (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@usingdirektivy 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
Appje kořenovou součástí aplikace. KomponentaAppje zadána jakodivprvek modelu DOM sidhodnotou ( vappsouboru ) do kolekce<div id="app">Loading...</div>wwwroot/index.htmlkořenových komponent (builder.RootComponents.Add<App>("#app")). - Služby se přidávají a konfiguruje (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Komponenta
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.
Datasložka: Obsahuje třídu a implementaci , která komponentě aplikace poskytuje příklad datWeatherForecastWeatherForecastServiceoFetchDatapočasí.Pagesfolder: Obsahuje směrovatelné komponenty/stránky ( ), které tvoří.razorBlazor Razor aplikaci, a kořenovou stránku Blazor Server aplikace. Trasa pro každou stránku se zadá pomocí@pagedirektivy . Š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
AppvykreslíApp.razorkořenová komponenta ( ).
Countercomponent (Counter.razor): Implementuje stránku Čítač.Errorcomponent (Error.razor): Zobrazí se, když v aplikaci dojde k neošetřené výjimce.FetchDatacomponent (FetchData.razor): Implementuje stránku Načíst data.Indexcomponent (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í.Sharedfolder: Obsahuje následující sdílené komponenty a šablony stylů:MainLayoutcomponent (MainLayout.razor): Komponenta rozložení aplikace.MainLayout.razor.css: Šablony stylů pro hlavní rozložení aplikace.NavMenucomponent (NavMenu.razor): Implementuje navigaci na bočním panelu. ZahrnujeNavLinkkomponentu ( 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.SurveyPromptcomponent (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@usingdirektivy 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.jsona 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řídaStartupdefinuje 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 AddServerSideBlazorWeatherForecastServicepoužití v příkladuFetchDatakomponenty.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 ( ) aPages/_Host.cshtmlpovolení 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.
Pagesfolder: Obsahuje směrovatelné komponenty/stránky (.razor), které tvoří Blazor aplikaci. Trasa pro každou stránku se zadá pomocí@pagedirektivy . Šablona obsahuje následující komponenty:Countercomponent (Counter.razor): Implementuje stránku Čítač.FetchDatacomponent (FetchData.razor): Implementuje stránku Načíst data.Indexcomponent (Index.razor): Implementuje Home stránku.
Properties/launchSettings.json: Obsahuje konfiguraci vývojového prostředí.Sharedfolder: Obsahuje následující sdílené součásti:MainLayoutcomponent (MainLayout.razor): Komponenta rozložení aplikace.NavMenucomponent (NavMenu.razor): Implementuje navigaci na bočním panelu. ZahrnujeNavLinkkomponentu ( 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.SurveyPromptcomponent (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í proappsettings.jsonnastavení konfigurace. Webováindex.htmlstrá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
Appvykreslí kořenová komponenta. Komponenta se vykreslí v umístění elementuappmodelu 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@usingdirektivy 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
Appje kořenovou součástí aplikace. KomponentaAppje zadána jakoappelement modelu DOM ( v souboru ) do kolekce<app>Loading...</app>wwwroot/index.htmlkořenových součástí (builder.RootComponents.Add<App>("app")). - Služby se přidávají a konfiguruje (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Komponenta
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.
Datasložka: Obsahuje třídu a implementaci , která komponentě aplikace poskytuje příklad datWeatherForecastWeatherForecastServiceoFetchDatapočasí.Pagesfolder: Obsahuje směrovatelné komponenty/stránky ( ), které tvoří.razorBlazor Razor aplikaci, a kořenovou stránku Blazor Server aplikace. Trasa pro každou stránku se zadá pomocí@pagedirektivy . Š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
AppvykreslíApp.razorkořenová komponenta ( ).
Countercomponent (Counter.razor): Implementuje stránku Čítač.Errorcomponent (Error.razor): Zobrazí se, když v aplikaci dojde k neošetřené výjimce.FetchDatacomponent (FetchData.razor): Implementuje stránku Načíst data.Indexcomponent (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í.Sharedfolder: Obsahuje následující sdílené součásti:MainLayoutcomponent (MainLayout.razor): Komponenta rozložení aplikace.NavMenucomponent (NavMenu.razor): Implementuje navigaci na bočním panelu. ZahrnujeNavLinkkomponentu ( 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.SurveyPromptcomponent (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@usingdirektivy 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.jsona 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řídaStartupdefinuje 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 AddServerSideBlazorWeatherForecastServicepoužití v příkladuFetchDatakomponenty.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 ( ) aPages/_Host.cshtmlpovolení navigace.