HarmonyOS 鸿蒙Next 如何使用 index d ts 文件
HarmonyOS 鸿蒙Next 如何使用 index d ts 文件 我需要在ccmini内的ets文件中引用AudioEngine中的napi接口,这个怎么使用?
我们引用关系如图,会报错,错误如图,另外改成import type CCMini后会报’CCMini’ cannot be used as a value because it was imported using ‘import type’.改成import type{CCMini}会直接标红Module ‘"…/…/…/cpp/types/libaudioengine/index"’ has no exported member ‘CCMini’. <tsCheck>
报错:
引用1:
引用2:
oh-package文件:
index.d.ts文件:
对应napi文件声明:
更多关于HarmonyOS 鸿蒙Next 如何使用 index d ts 文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
主要场景: CC.har 引入 Engine.har ,其中Engine.har 包含NAPI接口,在CC的模块中使用Engine.so的接口
-
创建 生成 Engine.har
-
创建, File -> new -> module -> 选择模板 Static Library
输入模块名称(Engine)后,选择 Enable native ;会创建带有Native 接口的demo
-
在生成的Engine模块下,在了路径 src.main.cpp.types下会有相关NAPI的相关配置文件
-
CMakeLists.txt 为c++ 相关编译配置
typses 为相关native打包的配置声明
oh-package.json5中 name为编译后的 so文件名称 ,(此处打包的为 libengine.so ,后面引入的也是以此名称引入)
-
{ “name”: “libengine.so”, “types”: “./index.d.ts”, “version”: “”, “description”: “Please describe the basic information.”}
-
types为 napi接口的声明文件。为c++相关的接口入口
-
在Engine模块中使用Native接口,在模块级的oh-package.json5 中,导入依赖的so。“dependencies”: { “libengine.so”: “file:./src/main/cpp/types/libengine”}
-
然后在Engine模块中的相关代码中就可以进行
import testNapi from ‘libengine.so’;
-
进行生成har包 Build -> Make module {$harName}
-
生产的har包的路径 build -> default -> outputs -> default -> Engine.har
-
生成的har包 可以进行上传发布到ohos仓库
-
在CC的模块中进行引入Engine.har
-
创建, File -> new -> module -> 选择模板 Static Library
-
初入模块名称(CC)后,选择 Enable native ;会创建带有Native 接口的demo
-
引入 Engine.har
-
安装HAR包有两种方式:
-
ohos仓库安装(需先将HAR包发布到ohos仓库)
-
本地HAR安装(在Terminal窗口中运行ohpm install XXX.har)
-
将Engine.har放到CC模块的libs文件夹下
-
在模块的 oh-package.json5中添加依赖
-
进行 ohpm install
-
使用Engine.har包中的napi
-
在ets文件中进行import so文件(上面生成的so名称为 libengine.so ; 在引入的oh_modules目录下 enginehar解压的 libs目录下会有其包含的so名称)
-
在ets里可以进行直接使用c++的接口函数
hilog.info(0x0000, ‘testTag engine’, ‘Test NAPI 2 + 3 = %{public}d’, engineApi.add(2, 3));
更多关于HarmonyOS 鸿蒙Next 如何使用 index d ts 文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,index.d.ts
文件通常用于TypeScript项目中,用于定义模块的类型声明。index.d.ts
文件可以确保在使用TypeScript开发时,能够获得类型检查和代码提示等特性。
-
创建
index.d.ts
文件:在项目的根目录或需要声明类型的目录下,创建一个名为index.d.ts
的文件。 -
编写类型声明:在
index.d.ts
文件中,编写模块的类型声明。例如,假设你有一个模块myModule
,你可以在index.d.ts
中这样声明:declare module 'myModule' { export function myFunction(): void; export const myVariable: string; }
-
引用模块:在TypeScript文件中引用该模块时,TypeScript会根据
index.d.ts
中的声明进行类型检查和提示。import { myFunction, myVariable } from 'myModule'; myFunction(); console.log(myVariable);
-
自动类型推断:如果
index.d.ts
文件放置在正确的位置,TypeScript编译器会自动识别并使用该文件中的类型声明。 -
模块解析:TypeScript会根据
tsconfig.json
中的配置来解析模块路径,确保index.d.ts
文件能够被正确识别。
通过使用index.d.ts
文件,你可以在HarmonyOS鸿蒙Next项目中为JavaScript模块提供类型支持,从而提升开发效率和代码质量。
在HarmonyOS(鸿蒙Next)中,index.d.ts
文件通常用于定义TypeScript的类型声明。要使用index.d.ts
文件,可以按照以下步骤操作:
- 创建文件:在项目根目录或
src
目录下创建index.d.ts
文件。 - 定义类型:在
index.d.ts
中编写类型声明,例如模块、接口或全局变量。 - 引用类型:在TypeScript文件中通过
import
或直接使用全局类型来引用index.d.ts
中定义的类型。 - 配置
tsconfig.json
:确保tsconfig.json
中的typeRoots
或include
字段包含index.d.ts
文件路径。
这样,TypeScript编译器会自动识别并使用index.d.ts
中的类型声明。