* update gitpod support * fix gitpod button * change base image * try update port * fix build issue * improve port Co-authored-by: James Yeung <shunjiey@hotmail.com>
17 KiB
Ant Design Blazor
English | 简体中文
✨ 特性
- 🌈 提炼自企业级中后台产品的交互语言和视觉风格。
- 📦 开箱即用的高质量 Blazor 组件,可在多种托管方式共享。
- 💕 支持基于 WebAssembly 的客户端和基于 SignalR 的服务端 UI 事件交互。
- 🎨 支持渐进式 Web 应用(PWA)
- 🛡 使用 C# 构建,多范式静态语言带来高效的开发体验。
- ⚙️ 基于 .NET Standard 2.1 / .NET 5 / .NET 6,可直接引用丰富的 .NET 类库。
- 🎁 可与已有的 ASP.NET Core MVC、Razor Pages 项目无缝集成。
- 💴 基于 MIT 开源协议,.NET 基金会项目,商业应用免费。
🌈 在线示例
WebAssembly 静态托管页面示例
🖥 支持环境
- 兼容 .NET Core 3.1 / .NET 5 / .NET 6。
- Blazor WebAssembly 3.2 /.NET 5 /.NET 6 正式版。
- 支持服务端双向绑定。
- 支持 WebAssembly 静态文件部署。
- 主流 4 款现代浏览器,以及 Internet Explorer 11+(限 Blazor Server)。
- 可直接运行在 .NET MAUI、WPF、Windows Forms 等 Blazor 混合客户端环境中。
- 可直接运行在 Electron 等基于 Web 标准的环境上。
Edge / IE |
Firefox |
Chrome |
Safari |
Opera |
Electron |
---|---|---|---|---|---|
Edge 16 / IE 11† | 522 | 57 | 11 | 44 | Chromium 57 |
由于 WebAssembly 的限制,Blazor WebAssembly 不支持 IE 浏览器,但 Blazor Server 支持 IE 11†。 详见官网说明。
从 .NET 5 开始,Blazor 不再官方支持 IE 11。详见 Blazor: Updated browser support。社区项目 Blazor.Polyfill 提供了非官方支持。
💿 当前版本
🎨 设计规范
与 Ant Design 设计规范定期同步,你可以在线查看同步日志。
因此,你可以直接使用在 Ant Design 中的自定义主题样式。
📦 安装
- 先安装 .NET Core SDK 3.1 以上版本,推荐 .NET 6。
从模板创建一个新项目
我们提供了 dotnet new
模板来创建一个开箱即用的 Ant Design Pro 新项目:
-
安装模板
$ dotnet new --install AntDesign.Templates
-
从模板创建 Ant Design Blazor Pro 项目
$ dotnet new antdesign -o MyAntDesignApp
模板的参数:
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
-f | --full |
如果设置这个参数,会生成所有 Ant Design Pro 页面 | bool | false |
-ho | --host |
指定托管模型 | 'wasm' | 'server' | 'hosted' | 'wasm' |
--styles |
指定样式构建类型 | css | less |
css |
--no-restore |
如果设置这个参数,就不会自动恢复包引用 | bool | false |
在已有项目中引入 Ant Design Blazor
-
进入应用的项目文件夹,安装 Nuget 包引用
$ dotnet add package AntDesign --version
-
在项目中注册:
services.AddAntDesign();
-
在
wwwroot/index.html
(WebAssembly) 或Pages/_Host.cshtml
(Server) 中引入静态文件:<link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" /> <script src="_content/AntDesign/js/ant-design-blazor.js"></script>
-
在
_Imports.razor
中加入命名空间@using AntDesign
-
为了动态地显示弹出组件,需要在
App.razor
中添加一个<AntContainer />
组件。<Router AppAssembly="@typeof(MainLayout).Assembly"> <Found Context="routeData"> <RouteView RouteData="routeData" DefaultLayout="@typeof(MainLayout)" /> </Found> <NotFound> <LayoutView Layout="@typeof(MainLayout)"> <Result Status="404" /> </LayoutView> </NotFound> </Router> <AntContainer /> <-- 在这里添加 ✨
-
最后就可以在
.razor
组件中引用啦!<Button Type="primary">Hello World!</Button>
⌨️ 开发
Gitpod
点击下方按钮,免费创建一个新的工作区用于开发。
本地
-
先安装 .NET Core SDK 6.0.100 以上版本
-
安装 Node.js(只用于样式文件和互操作所需 TS 文件的构建)
-
克隆到本地开发
$ git clone git@github.com:ant-design-blazor/ant-design-blazor.git $ cd ant-design-blazor $ npm install $ dotnet build ./site/AntDesign.Docs.Build/AntDesign.Docs.Build.csproj $ npm start
-
打开浏览器访问 https://localhost:5001 ,详情参考本地开发文档。
推荐使用 Visual Studio 2022 开发。
🔗 链接
🗺 开发路线
查看这个 issue 来了解我们 2020 年的开发计划。
🤝 如何贡献
如果你希望参与贡献,欢迎 Pull Request,或给我们 报告 Bug 。
贡献者
感谢所有为本项目做出过贡献的朋友。
💕 支持本项目
本项目以 MIT 协议开源,为了能得到够更好的且可持续的发展,我们期望获得更多的支持者,我们将把所得款项用于社区活动和推广。你可以通过如下任何一种方式支持我们:
我们会把详细的捐赠记录登记在 捐赠者名单。
❓ 社区互助
如果您在使用的过程中碰到问题,可以通过以下途径寻求帮助,同时我们也鼓励资深用户通过下面的途径给新人提供帮助。
-
另外,我还创立了面向中文开发者的 Blazor 中文社区,高手如云,只讨论技术,无卖课广告。可以加我微信(JamesYeungMVP)拉进微信群,另外也有一个 QQ 群 1012762441。广告勿扰。
行为准则
本项目采用了《贡献者公约》所定义的行为准则,以明确我们社区的预期行为。 更多信息请见 .NET Foundation Code of Conduct.
☀️ 授权协议
.NET Foundation
本项目由 .NET Foundation 支持。