tarsdocs
  • Readme.md
  • CLA
  • LICENSE
  • 基础介绍
    • 简介
    • 基础概念
    • 基础通信协议 Tars
    • 统一通信协议 Tup
    • 开发模式介绍
    • 模板配置
    • 服务市场
    • 服务扩展
    • 框架版本说明
  • 开源版框架介绍
    • 开源版本部署
      • 部署总体介绍
      • Docker环境安装
      • Mysql安装
      • 框架源码部署(Linux/Mac)
      • 框架源码部署(Windows)
      • 框架Docker部署
      • 框架节点部署
      • 业务服务容器化
      • 框架K8SDocker 部署
      • 框架K8STARS 部署
      • 框架K8SFramework 部署(强烈推荐)
      • 框架更新及扩容
      • 调用链升级注意事项
      • TarsWeb-v3.0.3升级说明
    • 开源版管理平台
      • TarsWeb说明
      • web用户体系
      • web管理平台 API
  • 企业版本介绍
    • 企业版说明
    • 框架集群化机制
    • 框架单节点机制
    • 使用二进制包部署
    • 使用容器部署
    • 业务服务一主多备机制
    • 命令行控制终端
    • IP-LIST级联缓存机制
    • 多数据中心管理
    • 多网络支持
    • 第三方服务管理
    • 数据产生和管理机制
    • 密码重置
    • TarsPython介绍
  • 框架关键特性
    • 业务配置
    • 服务监控
    • 无损发布/重启
    • 调用链
    • IDC分组
    • 鉴权功能
  • TarsCPP
    • 编译
    • 快速开发入门
    • 使用指南
    • 开发规范
    • 服务线程说明文档
    • protobuf 协议支持文档
    • 第三方协议支持
    • HTTP1 支持
    • HTTP2 支持
    • TLS 通信支持
    • Push 功能说明
    • PushCallback 功能说明
    • Cookie 支持
    • 队列模式
    • 手动绑定
    • 性能数据
    • 2.x 版本变化
    • 3.x 版本变化
    • 协程版本说明
    • 基础类库说明
    • [案例]
      • 框架快速入门
      • Http 服务示例
  • TarsJava
    • 快速开始
    • 快速开发入门
    • [使用指南]
      • Tars 服务开发与上线
      • HTTP 服务开发与上线
      • 生成接口调用文件
    • [性能测试]
      • tars java 压测代码
  • TarsGo
    • 基本介绍
    • 快速开始
    • 使用指南
    • cmake 管理代码
    • pb2tarsgo
    • 性能数据
    • 使用示例
  • TarsPHP
    • 搭建 php 环境
    • 快速开发入门
    • [快速起步]
      • 搭建 HttpServer
      • 搭建 TimerServer
      • 搭建 TcpServer
      • 搭建 WebSocketServer
      • 弹幕活动实战
    • [框架简介]
      • 简介
      • tars-server
      • tars-client
      • tars-config
      • tars-deploy
      • tars-extension
      • tars-log
      • tars-monitor
      • tars-registry
      • tars-report
      • tars-utils
      • tars2php
    • [高阶应用]
      • PHP 的 Swoole 框架如何接入 Tars
      • 与 thinkphp 结合使用
      • 与 Swoft 结合使用
      • 与 Laravel 结合使用
      • 与 Yii2 结合使用
      • 持续集成方案
    • [其他]
      • 常见问题
      • 如何 Debug
      • changelog
      • 其他外部文档
  • Tars.js
    • 基本介绍
    • 脚手架
    • 快速开发入门
    • @tars/stream
    • @tars/rpc
    • @tars/logs
    • @tars/config
    • @tars/monitor
    • @tars/notify
    • @tars/utils
    • @tars/dyeing
    • @tars/node-agent
    • @tars/winston-tars
    • tars2node
  • K8SFramework
    • [安装和使用说明]
      • 介绍
      • 特性
      • 安装
      • 升级
      • 云原生运维
      • 管理平台
      • 证书
    • [开发环境构建]
      • Dockerfile 说明
      • 服务发布流程说明
      • 制作基础编译镜像
      • 制作业务服务镜像
      • 制作 Helm 包
      • 发布业务镜像到 K8S 集群
      • 服务发布示例
      • 如何调试业务服务
  • 服务扩展
    • 云告警
    • 接口及压测工具
    • 网关服务
    • dcache缓存服务
    • 发送邮件服务
    • 一致性存储服务
    • 一致性存储web管理平台
    • 唯一计数服务
  • 常见问题
    • 安装常见问题
    • Issues
    • Issues-tarscpp
    • Issues-tarsjava
    • Issues-tarsgo
    • Issues-tarsphp
  • 开源合作
    • TarsFramework 项目 Git 合作规范
  • 直播视频
    • B 站 TARS 培训系列课程
  • 相关文章
    • TARS 技术文章
  • 其它资源分享
    • 下载
    • Tars 介绍.pptx
    • TarsPHP 解密.pdf
    • TarsJava 本地调试.pdf
    • 微服务在腾讯的业务实践.pptx
Powered by GitBook
On this page
  • 用法
  • 选项
  • 例子
  • 从源码编译

Was this helpful?

  1. Tars.js

tars2node

Previous@tars/winston-tarsNext[安装和使用说明]

Last updated 3 years ago

Was this helpful?

tars2node 可以将 Tars IDL 定义文件转换为 JavaScript 语言所使用的版本,结合 模块执行编解码操作。

如您有 Tars RPC 需求可结合 模块进行调用。

用法

直接使用 build 目录中的 tars2node 预编译程序即可(Linux 平台)。

tars2node [OPTIONS] tarsfile

选项

选项
作用

--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

生成服务端的框架代码。

--ts

打开此选项将后将只生成 TypeScript (.ts) 代码。

--dts

生成时附加 TypeScript 描述文件(.d.ts)。

--long-type=[number

string

--string-binary-encoding

遇到字符编码问题或需对原始数据进行存取时,打开此选项使用 <buffer> 存储 <string>。

--enum-reverse-mappings

输出代码 <enum> 支持枚举值到枚举名的反向映射 。

--optimize=[0|s]

优化输出代码大小,默认为 0(也就是不优化)。

例子

tars2node Protocol.tars
tars2node Protocol.tars --client
tars2node Protocol.tars --server

从源码编译

  1. 安装对应平台的 build-essential

linux & mac:

cd build
cmake ..
make -j4

windows:

cd build
cmake ..
cmake --build . --config Release

上述命令将转换 Protocol.tars 文件中定义的 常量、枚举、结构体 等数据类型生成 ProtocolTars.js 供编解码使用。 使用方法请参考 模块说明文档。

上述命令将转换文件中定义的 常量、枚举值、结构体 等数据类型,并将 interface 描述段转换为 Tars RPC 客户端接口文件,最终生成 ProtocolProxy.js 供调用方使用。 使用方法请参考 模块说明文档。

上述命令将转换文件中定义的 常量、枚举值、结构体 等数据类型,并将 interface 描述段转换为 Tars RPC 服务端接口文件,最终生成 Protocol.js 以及 ProtocolImp.js 供服务提供方使用。 开发者无需改动 Protocol.js,只需要继续完善 ProtocolImp.js 实现文件中具体的函数,即可作为 Tars RPC 服务端提供服务。 使用方法请参考 模块说明文档。

安装

@tars/stream
@tars/rpc
@tars/stream
@tars/rpc
@tars/rpc
CMake