1.3.2 • Published 9 months ago

ts-brpc v1.3.2

Weekly downloads
-
License
-
Repository
github
Last release
9 months ago

ts-brpc

ts-brpc支持以 RPC 风格调用 TypeScript 编写的服务端接口,让开发者专注业务实现。

特性

  • ts-brpc让客户端以 RPC 风格调用接口,函数调用是程序最自然的通信方式,免去手动构造 HTTP 请求。
  • ts-brpc可以扫描服务端 TS 代码中的类型信息,可在编码时为客户端提供类型校验、代码补全、接口注释;代码即 API 文档。
  • ts-brpc借由扫描获得的类型信息,零成本支持自动生成接口 Mock 数据的能力。
  • ts-brpc由 CLI + SDK 组成,运行时(SDK)非常轻量,可与 Koa、Midway.js 快速集成。

示例展示

Server

import { RPCMethod, RPCService } from 'ts-brpc/server'

interface UserInfo {
  id: string
  name: string
  age: number
}

@RPCService()
export class User {

  @RPCMethod()
  getInfoById (id: string): UserInfo {
    return { id, name: '22', age: 18 }
  }

  @RPCMethod()
  getUnreadMsg (id: string): Promise<string[]> {
    // 模拟异步调用
    return Promise.resolve(['msg1', 'msg2'])
  }
}

Client

import { createRemoteService } from 'ts-brpc/client'
// ts-brpc 扫描服务端代码生成的 rpc-definition.ts
import { App } from './rpc-definition'

const rpc = createRemoteService<App>({
  baseUrl: '<web app base url>'
})

await rpc.User.getInfoById('22') // => { id: '22', name: '22', age: 18 }

运行 demo

  1. git clone git@github.com:hughfenghen/ts-rpc.git
  2. yarn && yarn build
  3. cd demo && yarn
  4. yarn server 然后新开 shell 窗口 yarn client

文档

1.3.2

9 months ago

1.3.1

11 months ago

1.3.0

11 months ago

1.2.13

2 years ago

1.2.12

2 years ago

1.2.11

2 years ago

1.2.9-beta

2 years ago

1.2.4-beta

2 years ago

1.2.8-beta

2 years ago

1.2.10

2 years ago

1.2.3-beta

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.2.5-beta

2 years ago

1.2.2-beta

2 years ago

1.2.7-beta

2 years ago

1.2.1-beta

2 years ago

1.2.0-beta

2 years ago

1.2.6-beta

2 years ago

1.1.1

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.2

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.20

2 years ago

0.0.21

2 years ago

1.0.3

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.18

2 years ago

0.0.19

2 years ago

0.0.14

2 years ago

0.1.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.3

2 years ago

0.0.8

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.2

3 years ago