# ArkTS使用Node-API接口在主线程中进行模块加载
### 介绍
本工程展示了使用Node-API接口在主线程中进行系统模块加载与ArkTS单文件加载。详细描述可查如下链接中。
- [使用Node-API接口在主线程中进行模块加载](https://gitcode.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/use-napi-load-module.md)
### 效果预览
| 首页 | 执行结果图 |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
|
### 使用说明
1. 运行Index主界面。
2. 页面呈现如上图效果和按钮,依次点击按钮后可以加载系统模块和单文件模块,并将成功结果呈现到text文本中。
3. 运行测试用例NodeApiLoadModule.test.ets文件对页面代码进行测试可以全部通过。
### 工程目录
```
entry/
├── src
│ ├── main
│ │ ├── cpp
│ │ │ ├── types
│ │ │ │ ├── libentry
│ │ │ │ ├── libentry1
│ │ │ │ ├── ... (several libentry directories)
│ │ │ ├── CMakeLists.txt
│ │ │ ├── file.cpp
│ │ │ ├── ... (other .cpp files)
│ │ ├── ets
│ │ │ ├── entryability
│ │ │ ├── entrybackupability
│ │ │ ├── pages
│ │ │ │ └── Index.ets
│ │ │ ├── Test.ets
│ │ │ └── components
│ │ │ └── MainPage.ets
│ │ ├── resources
│ │ └── module.json5
│ └── ohosTest
│ ├── ets
│ │ └── test
│ │ ├── Ability.test.ets
│ │ ├── List.test.ets
│ │ └── NodeApiLoadModule.test.ets
│ └── module.json5
har1/
└── src/
├── main/
│ ├── cpp/
│ │ ├── types/
│ │ ├── CMakeLists.txt
│ │ └── napi_init.cpp
│ ├── ets/
│ │ └── components/
│ │ └── MainPage.ets
│ ├── resources/
│ └── module.json5
└── ohosTest/
├── ets/
│ └── test/
│ ├── Ability.test.ets
│ └── List.test.ets
└── module.json5
har2/
├── src/
│ ├── main/
│ │ ├── ets/
│ │ │ └── components/
│ │ │ └── MainPage.ets
│ │ ├── resources/
│ │ └── module.json5
│ └── ohosTest/
│ └── ets/
│ └── module.json5
library/
├── src/
│ ├── main/
│ │ ├── ets/
│ │ │ └── components/
│ │ │ └── MainPage.ets
│ │ ├── resources/
│ │ └── module.json5
│ └── ohosTest/
│ └── ets/
│ └── module.json5
library2/
├── src/
│ ├── main/
│ │ ├── ets/
│ │ │ └── components/
│ │ │ └── MainPage.ets
│ │ ├── resources/
│ │ └── module.json5
│ └── ohosTest/
│ ├── ets/
│ │ └── test/
│ │ ├── Ability.test.ets
│ │ └── List.test.ets
│ └── module.json5
native/
├── src/
│ ├── main/
│ │ ├── cpp/
│ │ │ ├── types/
│ │ │ ├── CMakeLists.txt
│ │ │ └── napi_init.cpp
│ │ ├── ets/
│ │ │ ├── nativeability/
│ │ │ └── pages/
│ │ ├── resources/
│ │ ├── module.json5
│ │ └── mock/
│ └── ohosTest/
│ ├── ets/
│ │ └── test/
│ │ ├── Ability.test.ets
│ │ ├── List.test.ets
│ │ └── LocalUnit.test.ets
│ └── module.json5
└── test/
├── List.test.ets
└── LocalUnit.test.ets
sharedlibrary/
├── src/
│ ├── main/
│ │ ├── ets/
│ │ │ ├── pages/
│ │ │ │ └── index.ets
│ │ │ └── utils/
│ │ ├── resources/
│ │ └── module.json5
│ └── ohosTest/
│ ├── ets/
│ │ └── test/
│ │ ├── Ability.test.ets
│ │ └── List.test.ets
│ └── module.json5
```
### 相关权限
不涉及。
### 依赖
不涉及。
### 约束与限制
1.本示例仅支持标准系统上运行, 支持设备:RK3568。
2.本示例为Stage模型,支持API20版本SDK,版本号:6.0.0.40,镜像版本号:OpenHarmony_6.0.0.40。
3.本示例需要使用DevEco Studio 5.1.1 Release (Build Version: 5.1.1.820, built on June 28, 2025)及以上版本才可编译运行。
### 下载
如需单独下载本工程,执行如下命令:
```
git init
git config core.sparsecheckout true
echo code/DocsSample/ArkTS/NodeAPI/NodeAPIClassicUseCases/NodeAPILoadModule > .git/info/sparse-checkout
git remote add origin https://gitcode.com/openharmony/applications_app_samples.git
git pull origin master
```