SetNapiModuleCreator
SetNapiModuleCreator 是一个 C++ 模板方法,用于注册一个“创建者”(Creator)。这个创建者是一个可调用对象(如函数、Lambda 表达式),负责在 JavaScript 环境中创建并绑定您的自定义原生模块方法。
此 API 是一个 C++ 接口,利用模板和 C++11 特性提供了更强的类型安全和灵活性。它会自动推导您的模块类型,并确保其正确继承自 LynxExtensionModule。
方法签名
参数说明
Creator 签名
您的创建者函数必须具有以下签名:
env:Napi::Env环境句柄,是与 JavaScript 引擎交互的上下文。exports: 一个Napi::Value,代表一个 JavaScript 对象,您应使用您模块的原生函数和属性来填充它。module_name: 模块的名称。module: 对您的自定义模块实例的引用。YourModuleType必须是继承自lynx::pub::LynxExtensionModule的类。API 内部会通过static_assert强制执行此约束。- 返回值: 填充后,您必须返回
exports对象。
使用方法
仅在调用 SetCModule 后调用此方法,因为注册过程会立即访问关联的 C 模块。宿主集成代码应在创建 C 模块后、将其返回给 Lynx 之前依次完成这两个调用。
代码示例
以下示例展示了如何定义一个自定义的 LynxExtensionModule,并使用 SetNapiModuleCreator 来暴露一个原生方法给 JavaScript。
相关链接
OnRuntimeAttach(): Creator 函数在此回调之后被调用,因为此时 N-API 环境已准备就绪。
兼容性
LCD tables only load in the browser