1# h2dts工具 2 3## 简介 4h2dts工具,即Ts接口生成工具,它可以根据定义在c++头文件中的接口,生成type-script语言的ts接口文件。若某个服务实现方式为c++,且供应用层访问的接口已在.h文件中定义,此时,NAPI接口开发者使用此工具可一键生成对应的ts文件,进而将生成的ts文件作为NAPI框架生成代码工具的输入,生成NAPI框架代码。串行使用ts接口生成工具、NAPI框架代码生成工具,形成工具链,达到降低NAPI接口开发难度,提高开发效率。 5 6## 约束 7系统:建议Ubuntu 20.04或者Windows 10 8 9依赖版本:VS Code 1.62.0 10 11## 使用方法 12 131.安装python库 CppHeaderParser 14 15``` 16pip install CppHeaderParser 17``` 18 192.安装typescript:在napi_generator/src/cli/h2dts/src目录下执行命令: 20 21 npm i typescript 22 233.安装stdio:在napi_generator/src/cli/h2dts目录下执行命令: 24 25 npm i stdio 26 274.将待转换的文件TsGenTest.h拷贝到napi_generator/src/cli/h2dts/src/tsGen下;TsGenTest.h文件如下所示: 28 29``` 30#ifndef TSGENTEST_H 31#define TSGENTEST_H 32 33#include <mutex> 34#include <thread> 35#include <unordered_map> 36 37namespace OHOS { 38class TsGenTest { 39public: 40 std::string getServName(); 41 std::string getServTime(); 42 int32_t doSum(int32_t num1, int32_t num2); 43 double addCount(double newNum); 44}; 45} 46#endif 47``` 48 495.在napi_generator/src/cli/h2dts/src/tsGen下执行以下命令生成ts声明文件: 50 51``` 52node cmd_gen.js -f TsGenTest.h 53``` 54 55其中,参数详情如下: 56 -f, 待转换的.h文件,若同时转换多个文件,文件之间用“,”隔开; 57 -d, 根据指定路径转换该文件夹中所有.h文件; 58 -t, 区分ts生成与napi转换工具,值为true时表示ts生成,false表示napi转换,默认为false; 59 -o, 可选参数,默认为当前目录,指定生成框架代码输出路径。 60 61 备注:-f与-d两个参数只选其中一个参数即可。 62 636.执行成功后在napi_generator/src/cli/h2dts/src/tsGen下生成TsGenTest.d.ts声明文件 64 65``` 66TsGenTest.d.ts 67``` 68 69