主文件
主文件作为模块的索引而存在
NilBridge
的模块加载机制完全遵守NodeJS
的require
机制
NodeJs require机制 (opens new window)
提示
如果没有指定,模块默认主文件为文件夹下的index.js
接着我们创建index.js
写入下列代码
class example extends NIL.ModuleBase{
onStart(api){
}
onStop(){
}
}
module.exports = new example;
现在你的模块已经可以被加载了,只不过它什么都干不了
我们一起来看这个文件
我们定义了example
这个自定义类继承自基类NIL.ModuleBase
其中包含了两个重载函数,onStart
和onStop
,分别在加载和卸载时被触发
并且初始化API
在加载时被传入,它可以帮助你注册命令,设置监听器等。
在下一节,我们会详细讲解如何使用它
对于一个初始化APIapi
,有如下这些方法可以调用
# Logger
对象
详见Logger对象
附带的logger对象会自动注册插件名称
调用就像下面这样。
api.logger.info('这是一条正常的日志');
api.logger.warn('这是一条警告日志');
api.logger.error(new Error('这是一个错误输出'));
# 监听事件
api.listen(event,callback)
- 参数
- event :
String
事件名称 - callback :
Function
事件回调,目前所有事件均为单参数回调
- event :
- 注意
- 监听的事件回调会自动执行
try-catch
- 插件卸载时,监听器会一并注销
- 监听的事件回调会自动执行
- 返回:监听器是否注册成功
- 返回值类型 :
Boolean
# 注册事件
api.addEvent(name)
- 参数
- name :
String
事件名称
- name :
- 返回 : 是否注册成功
- 返回值类型 :
Boolean
- 注意 : 由于模块加载的先后顺序,如果一个事件还未注册就被其他模块监听,会监听失败(待改进)
# 触发事件
注意:此操作接触到NilBridge
底层API,非必要请勿使用
NIL.EventManager.on(event,param)
- 参数
- event :
String
事件名称,必须是已经注册的 - param :
Object
向事件回调中传入的参数
- event :
- 注意 : 当使用此方法后,
NilBridge
会寻找监听此事件的函数并调用它们
# 注册命令
api.regCMD(cmd,desc,callback)
- 参数
- cmd :
String
命令字符串 - desc :
String
命令描述 - callback :
Promise
回调函数
- cmd :
- 返回 : 是否注册成功
- 返回值类型 :
Boolean
上次更新: 2022/07/16, 09:30:14