技术解析

TieJS: 一个基于 TypeScript 的个人级 Node.js 框架
0
2021-06-01 17:41:02
idczone

这个一个我个人开发 Node.js 框架,一个基于 TypeScript 的 Node.js 框架,底层基于 Koa 和 TypeDI,核心特性是使用依赖注入组织应用代码。

项目地址: https://github.com/forsigner/tie

为什么开发 TieJS,我刚开始用了两年多 Egg.js ,但是由于其对 TypeScript 支持过于弱(还有其他原因略过),放弃 Egg.js 了,尝试使用了一个月 NestJS,由于其概念过于多、使用繁琐等原因也放弃了,所以开发了 TieJS,前后大概开发和维护了一年多时间。

我自己是 TypeScript 和 GraphQL,并且相抗投诉服务器比 Express,我更喜欢 Koa 的中间件系统,所以开发了 TieJS,核心特性是使用依赖注入组织应用代码,还有一个就是内置 GraphQL 的支持。

Tie 意为绳子,在 TieJS 中,最核心的单元是一个个 Injectable 的模块,通过依赖注入这根绳子,你可以有序地组织一个复杂的项目。也放弃了 NestJS 引入 Node 社区所有复杂的概念。

一些特性

TypeScript, 全面拥抱 TypeScript 依赖注入,易于编写可维护、可测试的代码 基于 Koa,易于可以复用 Koa 中间件生态 开箱即用,零配置开始项目 插件体系, 易于扩展

核心技术

TieJS 使用下面这些开源技术:

  • Koa
  • TypeDI
  • TypeGraphQL
  • TypeORM
  • class-validator

这个框架因为个人原因,特性更新的比较慢,欢迎有兴趣的人一起维护和开发,如果有人有兴趣,我会把代码库转移到一个 Github 组织,并且开放开发权限,可以加我微信:ziyi-314,当然加微信普通交流也可以 哈哈


tie 有在实际的项目用到吗

关注下

为什么不直接用 nest.js 呢

为什么不直接用 nest.js 呢 -0-

已经在几个商业项目跑了一年多了

最主要的是 NestJS 概念太多,太复杂,学习成本太高,降低了开发体验,对我个人而言,我只希望把 TypeScript 的 (类型安全) 和 依赖注入 (代码注入) 使用在 Node 框架中,Nest 强行把非常多 Spring 的概念和理念引入框架中,这不是我喜欢的,可能是个人品味的问题吧

同上面

egg 的 typescript 有什么问题吗?看到也是支持的

感觉楼主没太想明白,node.js 的 web 框架各有优劣,使用哪种框架完全取决于工程场景。 类型安全和依赖注入也不是银弹。你给我的感觉是为了用而用 ...

赞。我看看有没有好用的点可以抄的 hhh

撞头像了 我还以为我啥时候回复了呢

哈哈
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服