@arkui-x.ModuleLoader.d.ts

ModuleLoader是独立于UIAbility的回调,仅在原生侧使用loadModule接口加载ArkTS Hap包的场景下触发。

说明:

本模块首批接口从API version 23开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import ModuleLoader from '@arkui-x.ModuleLoader'

ModuleLoader.onLoad

onLoad(): void;

描述:

原生侧调用loadModule接口加载指定Hap,系统会触发该回调,开发者可在该回调中执行初始化逻辑(如初始化Bridge等)。
Android侧loadModule使用详见文档。iOS侧loadModule使用详见文档

限制:

  • 要求文本后缀为ets。
  • 需要在Hap所属的模块级build-profile.json5中配置路径信息,使文件参与编译。详细见示例。

参数:

返回值:

示例:

// MyModuleLoader.ets
// 限制:文件后缀必须为“ets”
import ModuleLoader from '@arkui-x.ModuleLoader'

export default class MyModuleLoader extends ModuleLoader {
  onLoad(): void {
    console.info('MyModuleLoader onLoad')
    // 开发者业务逻辑
  }
}
// ${工程}/{Hap}/build-profile.json5
// 在Hap所属的模块级build-profile.json5中配置" MyModuleLoader.ets "的信息

{
  "apiType": "stageMode",
  "buildOption": {
    "resOptions": {
      "copyCodeResource": {
        "enable": false
      }
    },
    "arkOptions": {
      "runtimeOnly": {
        "sources": [
          "./src/main/ets/MyModuleLoader.ets"
        ]
      }
    }
  },
  "buildOptionSet": [
    {
      "name": "release",
      "arkOptions": {
        "obfuscation": {
          "ruleOptions": {
            "enable": false,
            "files": [
              "./obfuscation-rules.txt"
            ]
          }
        }
      }
    }
  ],
  "targets": [
    {
      "name": "default"
    }
  ]
}