使用 TypeScript 构建 Koa2 项目的最佳实践
发布于 4 年前 作者 WittBulter 8282 次浏览 来自 分享

最近发现有不少人正在用 TS 写 Koa,分享一个自己的项目: https://github.com/DhyanaChina/koa2-typescript-guide

9 回复

@WittBulter 配合装饰器使用效果更好, iwinter 是一个路由装饰器库,iwinter 地址,示例项目个人博客后端,recatch-service 项目地址

@yvanwangl 我一直觉得这种装饰器语法写路由不够优雅,不能体现路由本身的层级关系或匹配的意图。

哈哈。借楼主一个地分享下我的koa2 api typescript实践,数据库用postgresql https://github.com/SummerFans/koa2-api-ts-boilerplate

楼上的,你的类型没去定义啊,失去了使用typscript的意义。。。

@WittBulter 我的感觉恰恰相反,装饰器语法可以让主路由的分类及子路由的功能划分更清晰,而且通过装饰器可以很方便的进行切面编程。

@wujianqi 之前写的一部分,不完整!这两天补齐

@yvanwangl 看了一下你的项目,没感觉出来。 你这样写不就是几年前的 Express 原生的路由分配风格吗,只不过语法糖换了一个。

另外说两句实话,你这项目整体结构很混乱,路由命名不规范,代码风格千变万化,结构松散,逻辑乱七八糟。 类型声明和模型也是不能自圆其说。什么切面编程没看出来。

最后如果要把控制器与服务写成类,我倒是认为 Ioc 这样的风格比装饰器的方式更优雅。(当然它们都是一丘之貉,项目大了之后都会路由乱七八糟,特别是路径之间的包含与覆盖关系,会给自己挖坑)

@WittBulter 大佬 666, 学习了

你这项目根本不具有任何参考和学习性,最多就是把js后缀改为ts后缀而已,其实就是太简单了,希望多完善一下供大家学习。

回到顶部