# Entry 插件程序入口

 

"entry": "main.js", // 插件入口文件名字,支持相对文件路径,暂时只支持当前目录下,区分大小写

除去 manifest.json 清单文件以外,最重要的就是插件程序的入口

# 加载准备

uCode 会根据 manifest.json 指定的 entry 文件名去加载程序,加载 Entry 程序之前,我们会准备好一个全局上下文self.UCode,插件可以通过这个注入的全局上下文完成一些与 uCode 的交互。

例如,注册插件,需要显式的调用该接口:

self.UCode.extensions.register(register);

详细的参数可以参照:插件全局上下文

# 注册器

uCode 使用了一种工厂模式设计模式,所有的插件的都是提供注册器,由 uCode 调度具体的实例化时间和销毁时间

目前注册器主要有两种:

  • 积木块注册
  • 协议注册

注册器案例代码:

const register = {
  ProtocolRegister: [
    bleRegister,
    spRegister
    WebsocketRegister,
  ],
  BlockRegister: ExampleDeviceExtension,
};