正在写个项目, 模块一多心智负担较大.
略微吐槽一下,简直是现实版茴字有几种写法.
1.把中间件拆成 Middleware,Guards,Interceptors,Exception,Pipes, 并且他们都能获取请求上下文(Request, Response), 并且有不同的顺序, 但同类别内也有顺序, 并且生命周期是如此的繁琐.
docs.nestjs.com/faq/request-lifecycle
2.封装一个三方 API 花样太多了.
单独的 Service, Providers, Dynamic Module, ConfigurableModuleClass
这里面还有分 Sync 和 Async 导入, Global 模块.
3.模块系统是 Angular 那一套, 注册繁琐, 还会出现循环依赖.
心智负担比 Spring Boot 高太多了.
JS 的后端框架不像前端那样卷, 真希望能出个好用的.

建议直接让 cursor 给你写哈哈

刚接触前段框架这一套,给我的感觉就是前端框架的写法太多太灵活,上手虽然没那么难,但搞懂真挺麻烦的。

我感觉这种架构面向的是大型项目。平常 crud express 足够了

op ,你还上不上 next.js , 客户等着交付呢。。。赶紧的。

expressjs 公司内部定制一下 , 够了,在上个请求并发分流 全局 session , 其他看什么加什么得了 短小有力

而前端, 我记得 react 远古时期手动绑定 this 、还有其他奇奇怪怪的很多写法;但 我觉得状态管理器和有些东西还是挺有价值的

#2
这明明是后端框架, 怎么到你这就成了前端框架了? 和语言绑定了, 是 JS 就全都得叫前端框架?

同感,感觉 next.js 太复杂,但又没有好的支持服务器渲染和静态生成的库。

是啊,我就无法理解,JS 这么牛逼的语言,一个后端框架怎么就不能根据装饰器自动注册,非要手动 import

之前读 Rails 项目代码经常迷路,所以我不觉得自动注册是好的实践。显式 import 可读性提高很多

Nest.js 是用在大型后端项目上的,比如几十个人在同一个仓库上迭代,屎山要堆也堆在各自的 module / provider / controller 里面。
或者是做乙方,同样的产品针对不同的甲方要搞不同的定制化,这时候 nestjs 的 DI 就非常好用。

nest 非 next 😆

koa 完全够了

要么 express, 要么 koa, 有心思搞 nest 那套我干嘛不上 Java 呢....

我觉得挺好用的,不是小微项目,用这套挺舒服的。如果小项目并且只对数据库包一层逻辑,那就是过度抽象,得换其他的了。

要怪得怪做选型的失误或乱搞,Nest.js 没啥问题。

轻量的上 hono.js 或 fastify.js 吧,如果只有 web 端,上 trpc 做全栈更香。

spring boot 人称小 Nest.js

可以试试 AdonisJS

尴尬了

express 含金量并未下降

nest.js 难,那 spring boot 整合 vue ,那不是难的没边

我是前端出身,最近的两个大型项目后端都是用 NestJS 写了,符合工程化的选型,基础业务框架写好了,后面再写各种模块方便。就是互相依赖这个处理起来有点不爽。

我看成了 next.js