• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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