1.3.2 • Published 9 months ago
ts-brpc v1.3.2
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
git clone git@github.com:hughfenghen/ts-rpc.git
yarn && yarn build
cd demo && yarn
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