类型安全的接口开发
与代码共享工具
轻松地在 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 提供另一个选项。
总之,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}` };
}
);
}

一起变得更强
加入社区