EasyType基于TypeScript的动态类型反射系统
基于 TypeScript 的动态类型反射系统,EasyType算是我这几年见过比较的一个。平时你写 Node 后端的时候,模型类型是不是总得反复声明?mongoose
一套,GraphQL
一套,swagger
又一套,来回折腾特费劲。
EasyType 的核心思路挺简单——能不能用 TypeScript 已有的类型定义,直接在运行时读出来?这样写一次,跑全场,省时又少错。虽然还没做到商业级稳定,但原理上真挺巧。
它不是传统的那种类型检查工具,而是像 Java 里的反射那种感觉,可以直接读取 TS 的类型信息。对于后端开发来说,适合用来做输入校验、自动生成 API 文档、动态路由解析这些事。比如你要从class User
里反推出 RESTful 结构,这工具就派上用场了。
要注意哦,作者自己也说了——单元测试不全,而且维护不太积极,别轻易上生产。不过拿来学习思路、搞原型开发,真的蛮不错。如果你对类型系统有研究,也可以考虑参与重构,说不定能整出个靠谱框架来。
顺手放几个你会感兴趣的相关文章:type-inference TypeScript 类型推断库、dta:动态类型的 javascript 参数、Strava TypeScript API 类型封装库。搭配着看,理解更深。
如果你也有“明明写了 TS 类型,结果到处还得再声明一遍”的烦恼,可以试试 EasyType,至少省点重复劳动。
107.71KB
文件大小:
评论区