From 82c75b3fe71a4def93a7578a9b8031afd4ba7579 Mon Sep 17 00:00:00 2001 From: Super Zheng Date: Fri, 27 Jul 2018 15:55:07 +0800 Subject: [PATCH] doc: add examples --- README.md | 58 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 1bd173e..6cc3282 100644 --- a/README.md +++ b/README.md @@ -14,23 +14,47 @@ tars2node [OPTIONS] tarsfile ## 选项 -> Options: -> --version print tars2node version. -> --rpc-path=[DIRECTORY] specify the path of rpc module. -> --stream-path=[DIRECTORY[] specify the path of stream module. -> --allow-reserved-namespace allow you to use reserved word as a namespace. -> --dir=DIRECTORY generate source file to DIRECTORY. -> --relative use current path. -> --tarsBase=DIRECTORY where to search tars files. -> --r generate source all tars files. -> --r-minimal minimize the dependent members. -> --r-reserved list of names(split by ",") that should be keeped. -> --client just for client side source file. -> --server just for server side source file. -> --dts generate d.ts file. -> --use-string-represent use string represent long type. -> --string-binary-encoding get string raw bytes . -> --optimize=[0|s] support "s" to reduce code size, default is 0. +| 选项 | 作用 | +| ------------- | ------------- | +| --stream-path=[DIRECTORY] | 指定编解码模块名称,默认为 @tars/stream。 | +| --rpc-path=[DIRECTORY] | 指定 RPC 模块名称,默认为 @tars/rpc。 | +| --allow-reserved-namespace | 是否允许 `tars` 作为命名空间(因为此命名空间主要用于框架服务的 tars 文件定义)。 | +| --dir=[DIRECTORY] | 生成文件的输出目录。 | +| --relative | 限定所有的 `.tars` 文件都在当前目录寻找。| +| --tarsBase=[DIRECTORY] | 指定 `.tars` 文件的搜索目录。| +| --r | 转换嵌套的 `.tars` 文件。| +| --r-minimal | 精简依赖文件,移除非必须成员。| +| --r-reserved | 精简依赖文件时需保留的成员。| +| --client | 生成客户端的调用类代码。| +| --server | 生成服务端的框架代码。| +| --dts | 生成时附加 TypeScript 描述文件(.d.ts)。| +| --use-string-represent | 当需要保持 类型的精度时,打开此选项使用 \ 存储 \。| +| --string-binary-encoding | 遇到字符编码问题或需对原始数据进行存取时,打开此选项使用 \ 存储 \。| +| --optimize=[0\|s] | 优化输出代码大小,默认为 0(也就是不优化)。| + +## 例子 + +```bash +tars2node Protocol.tars +``` + +上述命令将转换 `Protocol.tars` 文件中定义的 `常量`、`枚举`、`结构体` 等数据类型生成 `ProtocolTars.js` 供编解码使用。 +使用方法请参考 [@tars/stream](https://www.npmjs.com/package/@tars/stream) 模块说明文档。 + +```bash +tars2node Protocol.tars --client +``` + +上述命令将转换文件中定义的 `常量`、`枚举值`、`结构体` 等数据类型,并将 `interface` 描述段转换为 Tars RPC 客户端接口文件,最终生成 `ProtocolProxy.js` 供调用方使用。 +使用方法请参考 [@tars/rpc](https://www.npmjs.com/package/@tars/rpc) 模块说明文档。 + +```bash +tars2node Protocol.tars --server +``` + +上述命令将转换文件中定义的 `常量`、`枚举值`、`结构体` 等数据类型,并将 `interface` 描述段转换为 Tars RPC 服务端接口文件,最终生成 `Protocol.js` 以及 `ProtocolImp.js` 供服务提供方使用。 +开发者无需改动 `Protocol.js`,只需要继续完善 `ProtocolImp.js` 实现文件中具体的函数,即可作为 Tars RPC 服务端提供服务。 +使用方法请参考 [@tars/rpc](https://www.npmjs.com/package/@tars/rpc) 模块说明文档。 ## 从源码编译