CNode

使用 TypeScript 构建 Koa2 项目的最佳实践

分享
WWittBulter发布于8 年前最后回复8 年前9 回复10762 浏览0 收藏

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

查看回复

回复 (9)

W
WittBulter#1·8 年前
引用 yvanwangl@WittBulter 配合装饰器使用效果更好, iwinter 是一个路由装饰器库,iwinter 地址,示例项目个人博客后端,recatch service 项目地址

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

X
xiaxiaokang#2·8 年前

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

W
wujianqi#3·8 年前

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

Y
yvanwangl#4·8 年前

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

Y
yvanwangl#5·8 年前
引用 WittBulter@yvanwangl 我一直觉得这种装饰器语法写路由不够优雅,不能体现路由本身的层级关系或匹配的意图。

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

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

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

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

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

Y
yuedun#9·8 年前

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

参与回复
登录后即可参与回复。登录