类型安全的接口开发
与代码共享工具

轻松地在 TypeScript 项目间共享代码
确保类型的一致性,减少潜在的错误和提升开发体验

🚀 第一原则

从本质出发,重新组织代码,不再手动封装接口调用代码和添加类型;通俗易懂的概念,提供不一样的开发体验。

🐱 简单且熟悉

如果您知道如何使用 Express 开发 API,那么您就已经会使用 tsdk 开发前后端类型安全的 API。

💫 更多花样

根据接口的核心数据,我们可以玩出更多的花样:导出 SWR 或者 React Query 钩子;导出核心业务逻辑的 SDK;接口权限导入;接口登录权限检测......

常见问题 FAQ

类型安全,到底什么是类型安全接口?
从传统的 API 开发流程来说,后端写好接口和文档,前端根据文档使用 `fetch` 或 `axios` 再手动添加类型包一层;
而类型安全的接口,当接口写好,将省略掉手动封装这一步骤,前端直接导入模块调用接口函数即可。
tsdk 可以在生产上使用了吗?
可以。tsdk 经过长年累月默默耕耘,API 已非常精简;如果您在生产中使用过 Express.js,那么使用 tsdk 上生产也没问题。
tRPC 和 tsdk 有什么不同?
tRPC 和 tsdk 都可以做到类型安全的 API 开发,但是两者的实现方式不一样,而且提供的其他功能也有所区别。
总之,tRPC 很棒,而 tsdk 提供另一个选项。
Next.js 的 Server Actions 已经是类型安全的,还需要 tsdk 吗?
如果您的前后端代码都可以写在 Next.js 项目里,则不需要使用 tsdk;而当需要前后端服务代码分离时,则可以使用 tsdk。

惊鸿一瞥


前端使用

简单调用:

SimpleTest.ts
import {
  GetHello
} from 'fe-sdk';
 
GetHello({world: 'tsdk'}).then(res => {
  console.log(res.result);
})

后端代码

使用接口配置:

Hello.api.ts
import {
  GetHelloConfig, GetHelloReq, GetHelloRes
} from './Hello.apiconf';
import { genRoute, type RequestInfo } from './gen-route';
 
export function setupHelloAPI() {
  genRoute<GetHelloReq, GetHelloRes>(
    GetHelloConfig,
    async (data, reqInfo: Readonly<RequestInfo>) => {
      return { result: `Hello ${data.world}` };
    }
  );
}
加入 tsdk.dev 社区,变更强
一起变得更强
加入社区