1# ArkTS使用Node-API接口进行模块加载 2 3### 介绍 4 5 Node-API中的napi_load_module_with_info接口的功能是进行模块的加载,当模块加载出来之后,可以使用函数napi_get_property获取模块导出的变量,也可以使用napi_get_named_property获取模块导出的函数,该函数可以在新创建的ArkTS基础运行时环境中使用。 6 7 本工程展示了使用napi_load_module_with_info接口进行对不同内容的加载,代码详细描述可查如下链接。 8 9- [使用Node-API接口进行模块加载](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/napi/use-napi-load-module-with-info.md) 10 11### 效果预览 12 13| 首页图 | 执行结果图 | 14| ------------------------------------------------------------ | ------------------------------------------------------------ | 15| <img src="./screenshots/NodeApiLoadModuleWithInfo1.png" style="zoom: 50%;" /> | <img src="./screenshots/NodeApiLoadModuleWithInfo2.png" style="zoom: 50%;" /> | 16 17### 使用说明 18 191. 运行Index主界面。 202. 页面呈现LoadModule效果和六个按钮,点击按钮后可以调用napi_load_module_with_info接口进行对不同内容进行加载,并修改Text文本内容。 213. 运行测试用例NodeApiLoadModuleWithInfo.test.ets文件对页面代码进行测试可以全部通过。 22 23### 工程目录 24 25``` 26entry/src/ 27 ├── main 28 │ ├── cpp 29 │ │ ├── types 30 │ │ ├── libentry 31 │ │ └── libentryone 32 │ │ └── libentrytwo 33 │ │ └── libentrythree 34 │ │ └── libentryfour 35 │ │ ├── api.cpp // 加载API模块 36 │ │ ├── har_name.cpp // 加载HAR模块名 37 │ │ ├── file.cpp // 加载模块内文件路径 38 │ │ ├── CMakeLists.txt 39 │ │ ├── napi_init.cpp // 加载Native库 40 │ │ ├── remote_har.cpp // 加载远程HAR模块名 41 │ ├── ets 42 │ │ ├── entryability 43 │ │ ├── entrybackupability 44 │ │ ├── pages 45 │ │ ├── Index.ets // 加载模块 46 │ │ ├── Test.ets 47 │ ├── module.json5 48 │ └── resources 49 ├── ohosTest 50 │ ├── ets 51 │ │ └── test 52 │ │ ├── Ability.test.ets 53 │ │ ├── NodeApiLoadModuleWithInfo.test.ets // 自动化测试代码 54 │ │ └── List.test.ets 55 har1/ // HAR加载HAR模块名 56 har2/ // HAR加载HAR模块名 57 library/ // 加载HAR模块名 58``` 59 60### 相关权限 61 62不涉及。 63 64### 依赖 65 66不涉及。 67 68### 约束与限制 69 701.本示例仅支持标准系统上运行, 支持设备:RK3568。 71 722.本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.57,镜像版本号:OpenHarmony_5.0.2.58。 73 743.本示例需要使用DevEco Studio 5.0.1 Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。 75 76### 下载 77 78如需单独下载本工程,执行如下命令: 79 80```` 81git init 82git config core.sparsecheckout true 83echo code/DocsSample/ArkTs/NodeAPI/NodeApiClassicUseCases/NodeApiLoadModuleWithInfo > .git/info/sparse-checkout 84git remote add origin https://gitee.com/openharmony/applications_app_samples.git 85git pull origin master 86````