插件开发
Fastdotnet 采用插件化架构,支持功能的动态扩展和热插拔。本章节将带你从零开始学习如何开发 Fastdotnet 插件。
📖 本章内容
- 插件概述 - 了解插件系统架构
- 环境准备 - 安装开发工具
- 创建插件 - 使用 CLI 工具生成项目
- 后端开发 - API、服务、数据模型
- 前端开发 - Vue 3 管理端和应用端
- 微前端集成 - qiankun 配置
- 调试与测试 - 本地调试技巧
- 打包发布 - 构建和上传插件市场
- PluginA演示插件 - 官方完整示例 ⭐
🎯 快速开始
1. 安装 CLI 工具
bash
dotnet tool install -g Fastdotnet.Plugin.CLI2. 学习 PluginA 演示插件 ⭐
强烈建议:在开始开发之前,先阅读 PluginA 演示插件文档。
PluginA 是官方提供的完整示例,展示了:
- ✅ 所有技术特性的实际使用
- ✅ 最佳实践和代码规范
- ✅ 从开发到部署的完整流程
- ✅ 常见问题和解决方案
你可以:
- 📖 阅读 PluginA 的源码和文档
- 🔍 研究具体的实现细节
- 🧪 运行和调试 PluginA
- 💡 借鉴其设计模式
3. 创建你的第一个插件
bash
fd-plugin按照提示输入插件信息,即可自动生成完整的项目结构。
4. 参考 PluginA 开发
- 后端:参考 PluginA 的 Controllers、Services、Initializers
- 前端:参考 PluginA 的 Admin 和 App 项目
- 调试:将插件复制到宿主应用 Plugins 目录测试
详见各章节详细内容。
🔑 核心概念
插件架构
Plugin/
├── Backend/ # 后端 .NET 10 项目
│ ├── Controllers/ # API 控制器
│ ├── Services/ # 业务服务
│ └── plugin.json # 插件元数据
└── Frontend/ # 前端 Vue 3 项目
├── {Plugin}.Admin/ # 管理端
└── {Plugin}.App/ # 应用端技术栈
- 后端: .NET 10 + SqlSugar ORM + OIDC
- 前端: Vue 3 + TypeScript + Element Plus + Vite
- 微前端: qiankun
- 包管理: pnpm
插件生命周期
创建 → 开发 → 调试 → 打包 → 发布 → 安装 → 运行📚 学习路径
新手路线
- 插件概述 → 理解插件系统
- 环境准备 → 安装必要工具
- 创建插件 → 生成第一个插件
- 后端开发 → 学习 API 开发
- 前端开发 → 学习页面开发
- 调试与测试 → 本地测试插件
- 打包发布 → 发布到插件市场
进阶路线
- 微前端集成 → 深入 qiankun
- 高级特性 → 事件总线、依赖注入
- 性能优化 → 提升插件性能
- 最佳实践 → 插件开发规范
💡 常见问题
Q: 如何获取 Plugin ID?
A: 访问 Fastdotnet 官网插件市场,在开发者中心申请唯一的 Plugin ID。
Q: 插件和主程序的关系?
A: 插件是独立的模块,通过接口与主程序交互,可以动态加载和卸载。
Q: 前端为什么分 Admin 和 App?
A:
- Admin: 管理端,面向管理员,提供配置和管理功能
- App: 应用端,面向最终用户,提供业务操作界面
Q: 如何调试插件?
A: 将编译后的 DLL 复制到宿主应用的 Plugins/{PluginId}/dependencies/ 目录,启动宿主应用即可。