• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-1,2751,000

har1/06-May-2025-522428

har2/06-May-2025-358316

hvigor/06-May-2025-3836

library/06-May-2025-355316

screenshots/06-May-2025-

.gitignoreD06-May-2025133 1212

README.mdD06-May-20253.6 KiB8665

build-profile.json5D06-May-20251.6 KiB7069

code-linter.json5D06-May-2025958 3534

hvigorfile.tsD06-May-2025843 225

oh-package.json5D06-May-2025834 2624

ohosTest.mdD06-May-20252 KiB1311

README.md

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````