ant-design-blazor/README-zh_CN.md
James Yeung 80ee0d8495
Changelog 0.13.0 (#2898)
* Changelog 0.13.0

* update readme
2022-11-22 23:57:53 +08:00

17 KiB
Raw Blame History

Ant Design Blazor

一套基于 Ant Design 和 Blazor 的企业级组件库

Build AntDesign AntDesign Pro 模板 codecov AntDesign Ding Talk Group Discord Server

English | 简体中文

特性

  • 🌈 提炼自企业级中后台产品的交互语言和视觉风格。
  • 📦 开箱即用的高质量 Blazor 组件,可在多种托管方式共享。
  • 💕 支持基于 WebAssembly 的前端和基于 SignalR 的服务端 UI 即时交互。
  • 🎨 支持渐进式 Web 应用PWA
  • 🛡 使用 C# 构建,多范式静态语言带来高效的开发体验。
  • ⚙️ 支持 .NET Core 3.1 以上所有版本,可直接引用丰富的 .NET 类库。
  • 🌍 数十个国际化语言支持。
  • 💴 基于 MIT 开源协议,.NET 基金会项目,商业应用免费。

🌈 在线示例

WebAssembly 静态托管页面示例

🖥 支持环境

  • 支持 .NET Core 3.1 / .NET 5 / .NET 6 / .NET 7 。
  • 支持 WebAssembly 静态文件部署。
  • 支持主流 4 款现代浏览器,以及 Internet Explorer 11+(限 Blazor Server)。
  • 支持 .NET MAUIWPFWindows Forms 等 Blazor 混合客户端环境中。
  • 支持 Electron 等基于 Web 标准的环境上。
IE / Edge
Edge / IE
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
Electron
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 中的自定义主题样式。

📦 安装

从模板创建一个新项目 Pro 模板

我们提供了 dotnet new 模板来创建一个开箱即用的 Ant Design Pro 新项目:

Pro Template

  • 安装模板

    $ 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

点击下方按钮,免费创建一个新的工作区用于开发。

Open in Gitpod

本地

  • 先安装 .NET Core SDK 7.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 年的开发计划。

🤝 如何贡献

PRs Welcome

如果你希望参与贡献,欢迎 Pull Request,或给我们 报告 Bug

贡献者

感谢所有为本项目做出过贡献的朋友。

💕 支持本项目

本项目以 MIT 协议开源,为了能得到够更好的且可持续的发展,我们期望获得更多的支持者,我们将把所得款项用于社区活动和推广。你可以通过如下任何一种方式支持我们:

我们会把详细的捐赠记录登记在 捐赠者名单

社区互助

如果您在使用的过程中碰到问题,可以通过以下途径寻求帮助,同时我们也鼓励资深用户通过下面的途径给新人提供帮助。

  • Discord Server (英文)

  • 钉钉群 (中文)

  • 另外,我还创立了面向中文开发者的 Blazor 中文社区高手如云只讨论技术无卖课广告。可以加我微信JamesYeungMVP拉进微信群另外也有一个 QQ 群 1012762441。广告勿扰。

行为准则

本项目采用了《贡献者公约》所定义的行为准则,以明确我们社区的预期行为。 更多信息请见 .NET Foundation Code of Conduct.

☀️ 授权协议

AntDesign

.NET Foundation

本项目由 .NET Foundation 支持。