作者:Daniel Roth 和 Luke Latham
重要
Blazor WebAssembly 为预览版状态
ASP.NET Core 3.0 支持 Blazor Server 。 Blazor WebAssembly 在 ASP.NET Core 3.1 中为预览版。
Blazor 框架提供模板,用于为每个 Blazor 承载模型开发应用程序:
blazorwasm
)blazorserver
)有关 Blazor的宿主模型的详细信息,请参阅 ASP.NET Core Blazor 宿主模型。
有关基于模板创建 Blazor 应用程序的分步说明,请参阅 ASP.NET Core Blazor 入门。
以下文件和文件夹构成了 Blazor 模板生成的 Blazor 应用:
Program.cs – 应用程序的入口点,用于设置:
blazorwasm
)创建的应用程序是唯一的。
App
组件被指定为 Add
方法的 app
DOM 元素。ConfigureServices
方法(例如,builder.Services.AddSingleton<IMyDependency, MyDependency>();
)。builder.Configuration
)提供配置。Startup.cs (Blazor Server) – 包含应用的启动逻辑。 Startup
类定义两种方法:
ConfigureServices
– 配置应用的依赖项注入(DI)服务。 在 Blazor Server apps 中,通过调用 AddServerSideBlazor添加服务,WeatherForecastService
将添加到服务容器中,供示例 FetchData
组件使用。Configure
– 配置应用的请求处理管道:
wwwroot/index.html (Blazor WebAssembly) – 作为 html 页面实现的应用的根页面:
App
呈现根组件的位置。 App
组件(app.config)指定为 Startup.Configure
中 AddComponent
方法的 app
DOM 元素。_framework/blazor.webassembly.js
加载 JavaScript 文件,该文件:
Pages/_Host cshtml (Blazor Server) – 作为 Razor 页面实现的应用的根页面:
_framework/blazor.server.js
加载 JavaScript 文件,该文件将设置浏览器与服务器之间的实时 SignalR 连接。App
组件(app.config)的呈现位置。App.config – 使用 Router 组件设置客户端路由的应用程序的根组件。 Router
组件会截获浏览器导航,并呈现与请求的地址匹配的页面。
Pages文件夹 – 包含组成 Blazor 应用的可路由组件/页面(razor)。 每页的路由都是使用@page
指令指定的。 此模板包括以下组件:
Index
(–razor)实现主页。Counter
(razor) – 实现计数器页。Error
(仅限Error、Blazor Server app) – 呈现。FetchData
(FetchData) – 实现 "提取数据" 页。共享文件夹 – 包含应用使用的其他 UI 组件(razor):
MainLayout
(MainLayout) – 应用的布局组件。NavMenu
(NavMenu) – 实现侧栏导航。 包含NavLink 组件(NavLink),该组件将呈现指向其他 Razor 组件的导航链接。 加载组件时,NavLink
组件会自动指示选定状态,这有助于用户了解当前显示的组件。_Imports – 包含包含在应用组件(razor)中的常见 razor 指令,如用于命名空间的@using
指令。
数据文件夹(Blazor Server) – 包含向应用程序的 FetchData
组件提供示例天气数据的 WeatherForecastService
的 WeatherForecast
类和实现。
wwwroot – 包含应用的公共静态资产的应用的Web 根文件夹。
appsettings (Blazor Server) – 应用的配置设置。