插件结构与生命周期入门
最小插件长什么样#
一个 DSH 插件本质上是一个普通的 Node.js 项目仓库。概念上的最小结构如下(示意,具体文件名以官方文档为准):
my-plugin/
├── package.json # 包信息与依赖
├── 清单文件 # 声明插件名称、入口、能力
└── src/ # 插件逻辑代码清单文件的作用#
清单文件相当于插件的「身份证」:DSH 加载插件时先读它,得知插件叫什么、入口在哪、暴露了哪些能力。把清单写准确,是插件能被正确识别和展示的前提。
生命周期钩子#
插件从加载到退出大致经历几个阶段,每个阶段都有对应的钩子(hook)供你挂自己的逻辑,示意如下:
// 示意代码,非精确 API
onLoad() // 插件被加载时:初始化状态、注册能力
onUnload() // 插件被卸载时:清理资源常见约定#
- 加载阶段做幂等的初始化:重复加载不应当出错
- 卸载阶段释放你申请的一切资源:定时器、文件句柄、网络连接
- 不要在模块顶层做耗时操作,把重活放进加载钩子
下一步#
结构清晰之后,发布只需一个 topic,见发布插件到 DSHub;更细的工程习惯见调试与最佳实践。精确的 API 名称与字段定义请始终以 DSH 官方文档为准。