struktura projektu ASP.NET Core Blazor
Poznámka:
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Upozorňující
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v tématu .NET a .NET Core Zásady podpory. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Tento článek popisuje soubory a složky, které tvoří Blazor aplikaci vygenerovanou ze Blazor šablony projektu.
Blazor Web App
Blazor Web App šablona projektu: blazor
Šablona Blazor Web App projektu poskytuje jediný výchozí bod pro použití Razor komponent (.razor
) k sestavení libovolného stylu webového uživatelského rozhraní, vykresleného na straně serveru i vykreslení na straně klienta. Kombinuje silné stránky stávajících Blazor Server a Blazor WebAssembly hostitelských modelů s vykreslováním na straně serveru, vykreslováním streamování, vylepšenou navigaci a zpracováním formulářů a možností přidávat interaktivitu pomocí jednotlivých Blazor Server komponent.Blazor WebAssembly
Pokud při vytváření aplikace vyberete vykreslování na straně klienta (CSR) i interaktivní vykreslování na straně serveru (interaktivní SSR), šablona projektu použije režim interaktivního automatického vykreslování. Režim automatického vykreslování zpočátku používá interaktivní SSR, zatímco se sada aplikací .NET a modul runtime stáhnou do prohlížeče. Po aktivaci modulu runtime .NET WebAssembly se vykreslování přepne na CSR.
Šablona Blazor Web App umožňuje statické i interaktivní vykreslování na straně serveru pomocí jednoho projektu. Pokud povolíte také interaktivní vykreslování WebAssembly, projekt obsahuje další klientský projekt (.Client
) pro komponenty založené na WebAssembly. Vytvořený výstup z klientského projektu se stáhne do prohlížeče a spustí se na klientovi. Součásti používající režimy interaktivního webAssembly nebo interaktivního automatického .Client
vykreslování musí být umístěny v projektu.
Struktura složek součástí projektu se liší od Blazor Web Appstruktury složek hlavního .Client
projektu, protože hlavní projekt je standardní projekt ASP.NET Core. Hlavní projekt musí vzít v úvahu další prostředky pro ASP.NET základní projekty, které nesouvisejí s Blazor. Vítá vás použití jakékoli struktury složek součástí, kterou chcete v .Client
projektu použít. Pokud chcete, můžete zrcadlit rozložení složky součástí hlavního .Client
projektu v projektu. Upozorňujeme, že obory názvů můžou vyžadovat úpravy takových prostředků, jako jsou soubory rozložení, pokud přesunete komponenty do různých složek, než používá šablona projektu.
Další informace o součástech a režimech vykreslování najdete v článcích o ASP.NET základních Razor komponentách a režimech vykreslování ASP.NET CoreBlazor.
Na základě interaktivního režimu vykreslování vybraného při vytváření Layout
aplikace se složka nachází v projektu serveru ve Components
složce nebo v kořenovém adresáři .Client
projektu. Složka obsahuje následující součásti rozložení a šablony stylů:
- Komponenta
MainLayout
(MainLayout.razor
) je komponenta rozložení aplikace. - Jedná se
MainLayout.razor.css
o šablonu stylů pro hlavní rozložení aplikace. - Komponenta
NavMenu
(NavMenu.razor
) implementuje navigaci na bočním panelu. Komponenta obsahujeNavLink
komponenty (NavLink), které vykreslují navigační odkazy na jiné Razor součásti. Komponenta NavLink označuje uživatele, který komponenta je aktuálně zobrazena. - Jedná se
NavMenu.razor.css
o šablonu stylů pro navigační nabídku aplikace.
Komponenta Routes
(Routes.razor
) je buď v serverovém projektu, nebo .Client
v projektu a nastavuje směrování pomocí Router komponenty. U interaktivních komponent Router na straně klienta zachytí komponenta navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.
Složka Components
projektu serveru obsahuje součásti na straně Razor serveru aplikace. Sdílené komponenty jsou často umístěny v kořenové složce Components
složky, zatímco rozložení a součásti stránky jsou obvykle umístěny do složek v rámci Components
složky.
Složka Components/Pages
projektu serveru obsahuje směrovatelné součásti na straně Razor serveru aplikace. Trasa pro každou stránku je určena pomocí direktivy @page
.
Komponenta App
(App.razor
) je kořenová komponenta aplikace s kódem HTML <head>
, komponentou Routes
a značkou Blazor<script>
. Kořenová komponenta je první komponenta, kterou aplikace načte.
Soubor _Imports.razor
v každém ze serverů a .Client
projektů obsahuje společné Razor direktivy pro Razor součásti každého projektu, například @using
direktivy pro obory názvů.
Složka Properties
projektu serveru obsahuje v souboru konfiguraci vývojového launchSettings.json
prostředí.
Poznámka:
Profil http
předchází https
profilu v launchSettings.json
souboru. Když se aplikace spustí pomocí rozhraní .NET CLI, aplikace se spustí na koncovém bodu HTTP, protože první nalezený profil je http
. Pořadí profilů usnadňuje přechod https pro uživatele s Linuxem a macOS. Pokud dáváte přednost spuštění aplikace pomocí rozhraní příkazového řádku .NET, aniž byste museli předat -lp https
příkaz (nebo) příkazu dotnet watch
--launch-profile https
(nebodotnet run
), jednoduše umístěte https
profil nad http
profil do souboru.
Složka wwwroot
projektu serveru je webová kořenová složka pro serverový projekt, která obsahuje veřejné statické prostředky aplikace.
Soubor Program.cs
projektu serveru je vstupní bod projektu, který nastaví hostitele webové aplikace ASP.NET Core a obsahuje logiku spuštění aplikace, včetně registrací služeb, konfigurace, protokolování a kanálu zpracování požadavků:
- Služby pro Razor komponenty se přidávají voláním AddRazorComponents. AddInteractiveServerComponents přidává služby pro podporu vykreslování komponent Interactive Serveru. AddInteractiveWebAssemblyComponents přidává služby pro podporu vykreslování interaktivních komponent WebAssembly.
- MapRazorComponents zjistí dostupné komponenty a určuje kořenovou komponentu aplikace (první načtenou komponentu
App
), která je ve výchozím nastavení součástí (App.razor
). AddInteractiveServerRenderMode nakonfiguruje interaktivní vykreslování na straně serveru (interaktivní SSR) pro aplikaci. AddInteractiveWebAssemblyRenderMode nakonfiguruje režim interaktivního vykreslování WebAssembly pro aplikaci.
Soubory nastavení aplikace (appsettings.Development.json
, appsettings.json
) v serveru nebo .Client
projektu poskytují nastavení konfigurace. V projektu serveru jsou soubory nastavení v kořenovém adresáři projektu. .Client
V projektu se soubory nastavení spotřebovávají z kořenové složky wwwroot
webu .
.Client
V projektu:
Složka
Pages
obsahuje směrovatelné komponenty na straně Razor klienta. Trasa pro každou stránku je určena pomocí direktivy@page
.Složka
wwwroot
je kořenová složka webu pro.Client
projekt, který obsahuje veřejné statické prostředky aplikace.Soubor
Program.cs
je vstupní bod projektu, který nastaví hostitele WebAssembly a obsahuje logiku spuštění projektu, včetně registrací služeb, konfigurace, protokolování a kanálu zpracování požadavků.
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor Web App šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Blazor Server
Blazor Server šablony projektů: blazorserver
, blazorserver-empty
Šablony Blazor Server vytvoří počáteční soubory a adresářovou strukturu pro Blazor Server aplikaci:
blazorserver
Pokud se šablona použije, aplikace se vyplní následujícím kódem:- Ukázkový kód pro komponentu
FetchData
, která načítá data ze služby předpovědi počasí (WeatherForecastService
) a interakce uživatele s komponentouCounter
. - Front-endová sada nástrojů Bootstrap
- Ukázkový kód pro komponentu
blazorserver-empty
Pokud se šablona použije, aplikace se vytvoří bez ukázkového kódu a bootstrapu.
Struktura projektu:
Data
folder: ObsahujeWeatherForecast
třídu a implementaciWeatherForecastService
, která poskytuje ukázková data o počasí pro komponentu aplikaceFetchData
.Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
) a kořenovou Razor stránku Blazor Server aplikace. Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující:_Host.cshtml
: Kořenová stránka aplikace implementovaná jako Razor stránka:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka Hostitel určuje, kde se vykresluje kořenová
App
komponenta (App.razor
).
Counter
component (Counter.razor
): Implementuje stránku Čítač.Error
component (Error.razor
): Vykresleno, když v aplikaci dojde k neošetřené výjimce.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
složka: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace._Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 nastavení konfigurace pro aplikaci.Program.cs
: Vstupní bod aplikace, který nastaví hostitele ASP.NET Core a obsahuje logiku spuštění aplikace, včetně registrace služeb a konfigurace kanálu zpracování požadavků:- Určuje služby injektáže závislostí aplikace (DI ). Služby jsou přidány voláním AddServerSideBlazora je přidán do
WeatherForecastService
kontejneru služby pro použití ukázkovouFetchData
komponentou. - Konfiguruje kanál zpracování požadavků aplikace:
- MapBlazorHub je volána k nastavení koncového bodu pro připojení v reálném čase k prohlížeči. Připojení se vytvoří pomocí SignalRrozhraní pro přidání webových funkcí v reálném čase do aplikací.
MapFallbackToPage("/_Host")
je volána k nastavení kořenové stránky aplikace (Pages/_Host.cshtml
) a povolení navigace.
- Určuje služby injektáže závislostí aplikace (DI ). Služby jsou přidány voláním AddServerSideBlazora je přidán do
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor Server šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Blazor Server šablona projektu: blazorserver
Šablona Blazor Server vytvoří počáteční soubory a adresářovou strukturu pro Blazor Server aplikaci. Aplikace se naplní ukázkovým kódem pro komponentu FetchData
, která načítá data z registrované služby WeatherForecastService
, a interakci uživatele s komponentou Counter
.
Data
folder: ObsahujeWeatherForecast
třídu a implementaciWeatherForecastService
, která poskytuje ukázková data o počasí pro komponentu aplikaceFetchData
.Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
) a kořenovou Razor stránku Blazor Server aplikace. Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující:_Host.cshtml
: Kořenová stránka aplikace implementovaná jako Razor stránka:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka Hostitel určuje, kde se vykresluje kořenová
App
komponenta (App.razor
).
_Layout.cshtml
: Stránka_Host.cshtml
rozložení kořenové stránky aplikace.Counter
component (Counter.razor
): Implementuje stránku Čítač.Error
component (Error.razor
): Vykresleno, když v aplikaci dojde k neošetřené výjimce.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
složka: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace._Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 nastavení konfigurace pro aplikaci.Program.cs
: Vstupní bod aplikace, který nastaví hostitele ASP.NET Core a obsahuje logiku spuštění aplikace, včetně registrace služeb a konfigurace kanálu zpracování požadavků:- Určuje služby injektáže závislostí aplikace (DI ). Služby jsou přidány voláním AddServerSideBlazora je přidán do
WeatherForecastService
kontejneru služby pro použití ukázkovouFetchData
komponentou. - Konfiguruje kanál zpracování požadavků aplikace:
- MapBlazorHub je volána k nastavení koncového bodu pro připojení v reálném čase k prohlížeči. Připojení se vytvoří pomocí SignalRrozhraní pro přidání webových funkcí v reálném čase do aplikací.
MapFallbackToPage("/_Host")
je volána k nastavení kořenové stránky aplikace (Pages/_Host.cshtml
) a povolení navigace.
- Určuje služby injektáže závislostí aplikace (DI ). Služby jsou přidány voláním AddServerSideBlazora je přidán do
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor Server šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Blazor Server šablona projektu: blazorserver
Šablona Blazor Server vytvoří počáteční soubory a adresářovou strukturu pro Blazor Server aplikaci. Aplikace se naplní ukázkovým kódem pro komponentu FetchData
, která načítá data z registrované služby WeatherForecastService
, a interakci uživatele s komponentou Counter
.
Data
folder: ObsahujeWeatherForecast
třídu a implementaciWeatherForecastService
, která poskytuje ukázková data o počasí pro komponentu aplikaceFetchData
.Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
) a kořenovou Razor stránku Blazor Server aplikace. Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující:_Host.cshtml
: Kořenová stránka aplikace implementovaná jako Razor stránka:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka Hostitel určuje, kde se vykresluje kořenová
App
komponenta (App.razor
).
Counter
component (Counter.razor
): Implementuje stránku Čítač.Error
component (Error.razor
): Vykresleno, když v aplikaci dojde k neošetřené výjimce.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
složka: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace._Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 nastavení konfigurace pro aplikaci.Program.cs
: Vstupní bod aplikace, který nastaví hostitele ASP.NET Core.Startup.cs
: Obsahuje logiku spuštění aplikace. TřídaStartup
definuje dvě metody:ConfigureServices
: Konfiguruje služby injektáže závislostí (DI) aplikace. Služby jsou přidány voláním AddServerSideBlazora je přidán doWeatherForecastService
kontejneru služby pro použití ukázkovouFetchData
komponentou.Configure
: Nakonfiguruje kanál zpracování požadavků aplikace:- MapBlazorHub je volána k nastavení koncového bodu pro připojení v reálném čase k prohlížeči. Připojení se vytvoří pomocí SignalRrozhraní pro přidání webových funkcí v reálném čase do aplikací.
MapFallbackToPage("/_Host")
je volána k nastavení kořenové stránky aplikace (Pages/_Host.cshtml
) a povolení navigace.
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor Server šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Blazor Server šablona projektu: blazorserver
Šablona Blazor Server vytvoří počáteční soubory a adresářovou strukturu pro Blazor Server aplikaci. Aplikace se naplní ukázkovým kódem pro komponentu FetchData
, která načítá data z registrované služby WeatherForecastService
, a interakci uživatele s komponentou Counter
.
Data
folder: ObsahujeWeatherForecast
třídu a implementaciWeatherForecastService
, která poskytuje ukázková data o počasí pro komponentu aplikaceFetchData
.Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
) a kořenovou Razor stránku Blazor Server aplikace. Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující:_Host.cshtml
: Kořenová stránka aplikace implementovaná jako Razor stránka:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka Hostitel určuje, kde se vykresluje kořenová
App
komponenta (App.razor
).
Counter
component (Counter.razor
): Implementuje stránku Čítač.Error
component (Error.razor
): Vykresleno, když v aplikaci dojde k neošetřené výjimce.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
složka: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace._Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 nastavení konfigurace pro aplikaci.Program.cs
: Vstupní bod aplikace, který nastaví hostitele ASP.NET Core.Startup.cs
: Obsahuje logiku spuštění aplikace. TřídaStartup
definuje dvě metody:ConfigureServices
: Konfiguruje služby injektáže závislostí (DI) aplikace. Služby jsou přidány voláním AddServerSideBlazora je přidán doWeatherForecastService
kontejneru služby pro použití ukázkovouFetchData
komponentou.Configure
: Nakonfiguruje kanál zpracování požadavků aplikace:- MapBlazorHub je volána k nastavení koncového bodu pro připojení v reálném čase k prohlížeči. Připojení se vytvoří pomocí SignalRrozhraní pro přidání webových funkcí v reálném čase do aplikací.
MapFallbackToPage("/_Host")
je volána k nastavení kořenové stránky aplikace (Pages/_Host.cshtml
) a povolení navigace.
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor Server šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Samostatný Blazor WebAssembly
Šablona samostatného Blazor WebAssembly projektu: blazorwasm
Šablona Blazor WebAssembly vytvoří počáteční soubory a adresářovou strukturu pro samostatnou Blazor WebAssembly aplikaci:
blazorwasm
Pokud se šablona použije, aplikace se vyplní následujícím kódem:- Ukázkový kód pro komponentu
Weather
, která načítá data ze statického prostředku (weather.json
) a interakce uživatele s komponentouCounter
. - Front-endová sada nástrojů Bootstrap
- Ukázkový kód pro komponentu
- Šablonu
blazorwasm
lze také vygenerovat bez ukázkových stránek a stylů.
Struktura projektu:
Layout
složka: Obsahuje následující součásti rozložení a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.
Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
). Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující komponenty:Counter
component (Counter.razor
): Implementuje stránku Čítač.Index
component (Index.razor
): Implementuje Home stránku.Weather
component (Weather.razor
): Implementuje stránku Počasí.
_Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí navigaci v prohlížeči a vykreslí stránku, která odpovídá požadované adrese.Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Poznámka:
Profil
http
předcházíhttps
profilu vlaunchSettings.json
souboru. Když se aplikace spustí pomocí rozhraní .NET CLI, aplikace se spustí na koncovém bodu HTTP, protože první nalezený profil jehttp
. Pořadí profilů usnadňuje přechod https pro uživatele s Linuxem a macOS. Pokud dáváte přednost spuštění aplikace pomocí rozhraní příkazového řádku .NET, aniž byste museli předat-lp https
příkaz (nebo) příkazudotnet watch
--launch-profile https
(nebodotnet run
), jednoduše umístětehttps
profil nadhttp
profil do souboru.wwwroot
složka: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace, včetněappsettings.json
souborů nastavení aplikace a nastavení prostředí pro nastavení konfigurace a ukázková data o počasí (sample-data/weather.json
). Webováindex.html
stránka je kořenová stránka aplikace implementovaná jako stránka HTML:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka určuje, kde se kořenová
App
komponenta vykresluje. Komponenta se vykreslí v umístěnídiv
prvku DOM pomocí znakuid
app
(<div id="app">Loading...</div>
).
Program.cs
: Vstupní bod aplikace, který nastaví hostitele WebAssembly:- Komponenta
App
je kořenovou komponentou aplikace. KomponentaApp
je určena jakodiv
prvek DOM s hodnotouid
app
(<div id="app">Loading...</div>
inwwwroot/index.html
) do kořenové kolekce komponent (builder.RootComponents.Add<App>("#app")
). - Služby se přidávají a konfigurují (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()
).
- Komponenta
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor WebAssembly šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Blazor WebAssembly
Blazor WebAssembly šablony projektů: blazorwasm
, blazorwasm-empty
Šablony Blazor WebAssembly vytvoří počáteční soubory a adresářovou strukturu pro Blazor WebAssembly aplikaci:
blazorwasm
Pokud se šablona použije, aplikace se vyplní následujícím kódem:- Ukázkový kód pro komponentu
FetchData
, která načítá data ze statického prostředku (weather.json
) a interakce uživatele s komponentouCounter
. - Front-endová sada nástrojů Bootstrap
- Ukázkový kód pro komponentu
blazorwasm-empty
Pokud se šablona použije, aplikace se vytvoří bez ukázkového kódu a bootstrapu.
Struktura projektu:
Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
). Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující komponenty:Counter
component (Counter.razor
): Implementuje stránku Čítač.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.SurveyPrompt
component () (SurveyPrompt.razor
ASP.NET Core v .NET 7 nebo starší): Blazor součást průzkumu.
wwwroot
folder: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace, včetněappsettings.json
souborů nastavení aplikace prostředí pro nastavení konfigurace. Webováindex.html
stránka je kořenová stránka aplikace implementovaná jako stránka HTML:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka určuje, kde se kořenová
App
komponenta vykresluje. Komponenta se vykreslí v umístěnídiv
prvku DOM pomocí znakuid
app
(<div id="app">Loading...</div>
).
_Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 komponentou aplikace. KomponentaApp
je určena jakodiv
prvek DOM s hodnotouid
app
(<div id="app">Loading...</div>
inwwwroot/index.html
) do kořenové kolekce komponent (builder.RootComponents.Add<App>("#app")
). - Služby se přidávají a konfigurují (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()
).
- Komponenta
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor WebAssembly šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Hostované Blazor WebAssembly řešení zahrnuje následující projekty ASP.NET Core:
- "Client": Aplikace Blazor WebAssembly .
- "Server": Aplikace, která klientům obsluhuje Blazor WebAssembly data aplikace a počasí.
- "Shared": Projekt, který udržuje běžné třídy, metody a zdroje.
Řešení se vygeneruje ze Blazor WebAssembly šablony projektu v sadě Visual Studio se zaškrtnutým zaškrtávacím polem ASP.NET Core Hostovaným nebo s -ho|--hosted
možností pomocí příkazu .NET CLI dotnet new blazorwasm
. Další informace naleznete v tématu Nástroje pro ASP.NET Core Blazor.
Struktura projektu aplikace na straně klienta v hostovaném Blazor řešení Webassembly (Client"projekt") je stejná jako struktura projektu pro samostatnou Blazor WebAssembly aplikaci. Další soubory v hostovaném Blazor WebAssembly řešení:
- Projekt "Server" zahrnuje kontroler předpovědi počasí, který
Controllers/WeatherForecastController.cs
vrací data o počasí do komponenty projektuFetchData
"Client". - Projekt "Shared" zahrnuje třídu předpovědi počasí, která
WeatherForecast.cs
představuje data o počasí pro projekty "Client" a "Server".
Blazor WebAssembly
Blazor WebAssembly šablona projektu: blazorwasm
Šablona Blazor WebAssembly vytvoří počáteční soubory a adresářovou strukturu pro Blazor WebAssembly aplikaci. Aplikace se naplní ukázkovým kódem pro komponentu FetchData
, která načítá data ze statického prostředku weather.json
a interakce uživatele s komponentou Counter
.
Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
). Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující komponenty:Counter
component (Counter.razor
): Implementuje stránku Čítač.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
folder: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace, včetněappsettings.json
souborů nastavení aplikace prostředí pro nastavení konfigurace. Webováindex.html
stránka je kořenová stránka aplikace implementovaná jako stránka HTML:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka určuje, kde se kořenová
App
komponenta vykresluje. Komponenta se vykreslí v umístěnídiv
prvku DOM pomocí znakuid
app
(<div id="app">Loading...</div>
).
_Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 komponentou aplikace. KomponentaApp
je určena jakodiv
prvek DOM s hodnotouid
app
(<div id="app">Loading...</div>
inwwwroot/index.html
) do kořenové kolekce komponent (builder.RootComponents.Add<App>("#app")
). - Služby se přidávají a konfigurují (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()
).
- Komponenta
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor WebAssembly šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Hostované Blazor WebAssembly řešení zahrnuje následující projekty ASP.NET Core:
- "Client": Aplikace Blazor WebAssembly .
- "Server": Aplikace, která klientům obsluhuje Blazor WebAssembly data aplikace a počasí.
- "Shared": Projekt, který udržuje běžné třídy, metody a zdroje.
Řešení se vygeneruje ze Blazor WebAssembly šablony projektu v sadě Visual Studio se zaškrtnutým zaškrtávacím polem ASP.NET Core Hostovaným nebo s -ho|--hosted
možností pomocí příkazu .NET CLI dotnet new blazorwasm
. Další informace naleznete v tématu Nástroje pro ASP.NET Core Blazor.
Struktura projektu aplikace na straně klienta v hostovaném Blazor řešení Webassembly (Client"projekt") je stejná jako struktura projektu pro samostatnou Blazor WebAssembly aplikaci. Další soubory v hostovaném Blazor WebAssembly řešení:
- Projekt "Server" zahrnuje kontroler předpovědi počasí, který
Controllers/WeatherForecastController.cs
vrací data o počasí do komponenty projektuFetchData
"Client". - Projekt "Shared" zahrnuje třídu předpovědi počasí, která
WeatherForecast.cs
představuje data o počasí pro projekty "Client" a "Server".
Blazor WebAssembly
Blazor WebAssembly šablona projektu: blazorwasm
Šablona Blazor WebAssembly vytvoří počáteční soubory a adresářovou strukturu pro Blazor WebAssembly aplikaci. Aplikace se naplní ukázkovým kódem pro komponentu FetchData
, která načítá data ze statického prostředku weather.json
a interakce uživatele s komponentou Counter
.
Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
). Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující komponenty:Counter
component (Counter.razor
): Implementuje stránku Čítač.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty a šablony stylů:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.MainLayout.razor.css
: Šablona stylů pro hlavní rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.NavMenu.razor.css
: Šablona stylů pro navigační nabídku aplikace.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
folder: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace, včetněappsettings.json
souborů nastavení aplikace prostředí pro nastavení konfigurace. Webováindex.html
stránka je kořenová stránka aplikace implementovaná jako stránka HTML:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka určuje, kde se kořenová
App
komponenta vykresluje. Komponenta se vykreslí v umístěnídiv
prvku DOM pomocí znakuid
app
(<div id="app">Loading...</div>
).
_Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 komponentou aplikace. KomponentaApp
je určena jakodiv
prvek DOM s hodnotouid
app
(<div id="app">Loading...</div>
inwwwroot/index.html
) do kořenové kolekce komponent (builder.RootComponents.Add<App>("#app")
). - Služby se přidávají a konfigurují (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()
).
- Komponenta
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor WebAssembly šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Hostované Blazor WebAssembly řešení zahrnuje následující projekty ASP.NET Core:
- "Client": Aplikace Blazor WebAssembly .
- "Server": Aplikace, která klientům obsluhuje Blazor WebAssembly data aplikace a počasí.
- "Shared": Projekt, který udržuje běžné třídy, metody a zdroje.
Řešení se vygeneruje ze Blazor WebAssembly šablony projektu v sadě Visual Studio se zaškrtnutým zaškrtávacím polem ASP.NET Core Hostovaným nebo s -ho|--hosted
možností pomocí příkazu .NET CLI dotnet new blazorwasm
. Další informace naleznete v tématu Nástroje pro ASP.NET Core Blazor.
Struktura projektu aplikace na straně klienta v hostovaném Blazor řešení Webassembly (Client"projekt") je stejná jako struktura projektu pro samostatnou Blazor WebAssembly aplikaci. Další soubory v hostovaném Blazor WebAssembly řešení:
- Projekt "Server" zahrnuje kontroler předpovědi počasí, který
Controllers/WeatherForecastController.cs
vrací data o počasí do komponenty projektuFetchData
"Client". - Projekt "Shared" zahrnuje třídu předpovědi počasí, která
WeatherForecast.cs
představuje data o počasí pro projekty "Client" a "Server".
Blazor WebAssembly
Blazor WebAssembly šablona projektu: blazorwasm
Šablona Blazor WebAssembly vytvoří počáteční soubory a adresářovou strukturu pro Blazor WebAssembly aplikaci. Aplikace se naplní ukázkovým kódem pro komponentu FetchData
, která načítá data ze statického prostředku weather.json
a interakce uživatele s komponentou Counter
.
Pages
složka: Obsahuje Blazor směrovatelné Razor komponenty aplikace (.razor
). Trasa pro každou stránku je určena pomocí direktivy@page
. Šablona obsahuje následující komponenty:Counter
component (Counter.razor
): Implementuje stránku Čítač.FetchData
component (FetchData.razor
): Implementuje datovou stránku Fetch.Index
component (Index.razor
): Implementuje Home stránku.
Properties
složka: Obsahuje konfiguraci vývojovéholaunchSettings.json
prostředí v souboru.Shared
složka: Obsahuje následující sdílené komponenty:MainLayout
component (MainLayout.razor
): Komponenta rozložení aplikace.NavMenu
component (NavMenu.razor
): Implementuje navigaci na bočním panelu. Obsahuje komponentuNavLink
(NavLink), která vykresluje navigační odkazy na jiné Razor součásti. Komponenta NavLink automaticky označuje vybraný stav při načtení jeho komponenty, což uživateli pomáhá pochopit, která komponenta je aktuálně zobrazena.SurveyPrompt
komponenta (SurveyPrompt.razor
): Blazor součást průzkumu.
wwwroot
folder: Webová kořenová složka aplikace obsahující veřejné statické prostředky aplikace, včetněappsettings.json
souborů nastavení aplikace prostředí pro nastavení konfigurace. Webováindex.html
stránka je kořenová stránka aplikace implementovaná jako stránka HTML:- Když se na začátku vyžádá jakákoli stránka aplikace, zobrazí se tato stránka a vrátí se v odpovědi.
- Stránka určuje, kde se kořenová
App
komponenta vykresluje. Komponenta se vykreslí v umístění elementuapp
DOM (<app>Loading...</app>
).
_Imports.razor
: Zahrnuje běžné Razor direktivy pro zahrnutí do komponent aplikace (.razor
), jako@using
jsou direktivy pro obory názvů.App.razor
: Kořenová komponenta aplikace, která nastavuje směrování na straně klienta pomocí Router této komponenty. Komponenta Router zachytí 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 komponentou aplikace. KomponentaApp
je určena jakoapp
prvek DOM (<app>Loading...</app>
inwwwroot/index.html
) do kořenové kolekce komponent (builder.RootComponents.Add<App>("app")
). - Služby se přidávají a konfigurují (například
builder.Services.AddSingleton<IMyDependency, MyDependency>()
).
- Komponenta
Při konfiguraci dalších možností se můžou v aplikaci vytvořené ze Blazor WebAssembly šablony projektu objevit další soubory a složky. Například generování aplikace s ASP.NET Core Identity zahrnuje další prostředky pro funkce ověřování a autorizace.
Hostované Blazor WebAssembly řešení zahrnuje následující projekty ASP.NET Core:
- "Client": Aplikace Blazor WebAssembly .
- "Server": Aplikace, která klientům obsluhuje Blazor WebAssembly data aplikace a počasí.
- "Shared": Projekt, který udržuje běžné třídy, metody a zdroje.
Řešení se vygeneruje ze Blazor WebAssembly šablony projektu v sadě Visual Studio se zaškrtnutým zaškrtávacím polem ASP.NET Core Hostovaným nebo s -ho|--hosted
možností pomocí příkazu .NET CLI dotnet new blazorwasm
. Další informace naleznete v tématu Nástroje pro ASP.NET Core Blazor.
Struktura projektu aplikace na straně klienta v hostovaném Blazor řešení Webassembly (Client"projekt") je stejná jako struktura projektu pro samostatnou Blazor WebAssembly aplikaci. Další soubory v hostovaném Blazor WebAssembly řešení:
- Projekt "Server" zahrnuje kontroler předpovědi počasí, který
Controllers/WeatherForecastController.cs
vrací data o počasí do komponenty projektuFetchData
"Client". - Projekt "Shared" zahrnuje třídu předpovědi počasí, která
WeatherForecast.cs
představuje data o počasí pro projekty "Client" a "Server".
Blazor Umístění skriptu
Skript Blazor se obsluhuje z vloženého prostředku ve sdíleném rozhraní ASP.NET Core.
V souboru Blazor Web AppBlazor se skript nachází:Components/App.razor
<script src="_framework/blazor.web.js"></script>
Blazor Server V aplikaci Blazor se skript nachází v Pages/_Host.cshtml
souboru:
<script src="_framework/blazor.server.js"></script>
Blazor Server V aplikaci Blazor se skript nachází v Pages/_Host.cshtml
souboru:
<script src="_framework/blazor.server.js"></script>
Blazor Server V aplikaci Blazor se skript nachází v Pages/_Layout.cshtml
souboru:
<script src="_framework/blazor.server.js"></script>
Blazor Server V aplikaci Blazor se skript nachází v Pages/_Host.cshtml
souboru:
<script src="_framework/blazor.server.js"></script>
Blazor WebAssembly V aplikaci Blazor se obsah skriptu nachází v wwwroot/index.html
souboru:
<script src="_framework/blazor.webassembly.js"></script>
<head>
Umístění obsahu a <body>
umístění
Blazor Web App<head>
V souboru a <body>
obsah se nachází v Components/App.razor
souboru.
Blazor Server V aplikaci <head>
a <body>
obsah se nachází v Pages/_Host.cshtml
souboru.
Blazor Server V aplikaci <head>
a <body>
obsah se nachází v Pages/_Layout.cshtml
souboru.
Blazor Server V aplikaci <head>
a <body>
obsah se nachází v Pages/_Host.cshtml
souboru.
Blazor WebAssembly V aplikaci <head>
a <body>
obsah se nachází v wwwroot/index.html
souboru.
Duální Blazor Server/Blazor WebAssembly aplikace
Pokud chcete vytvořit aplikaci, která se dá spustit jako Blazor Server aplikace nebo Blazor WebAssembly aplikace, je jedním z přístupů umístit všechny aplikační logiky a komponenty doRazor knihovny tříd (RCL) a odkazovat na seznam RCL ze samostatných Blazor Server a Blazor WebAssembly projektů. Pro běžné služby, jejichž implementace se liší na základě modelu hostování, definujte rozhraní služby v seznamu RCL a implementujte služby v projektechBlazor Server.Blazor WebAssembly