Nodejs 有没有人使用 nest.js?完全 oop , node 版的 spring ,感觉其他框架可以立碑了

发布于 1周前 作者 yibo5220 来自 nodejs/Nestjs

Nodejs 有没有人使用 nest.js?完全 oop , node 版的 spring ,感觉其他框架可以立碑了

准确说,nest 不是框架,而是一种区别于 commonjs 的模块规范,或者说是高阶构建工具,它改变了以往团队协同的编码组织结构,使得模块化开发思想真正得以实现,框架目的不是提高开发技术,而是降低模块间耦合风险,隔离了工作区间,带了前所未有的协同开发体验。

介绍: https://yangjdb.github.io/blog/2018/01/08/nest-1/

nestjs 的学习成本较高,对于基础理论,设计模式,原生语法都要有深厚的理解能力,如果想深入了解 nest,建议以下步骤: 先看 es6 的 proxy,reflect,symbol 链接:es6 的 Reflect 再看 typescript 的装饰器 链接:TS 装饰器 再看 java 的六大设计原则(自行百度) 再看 nestjs 的开源代码 链接:nestjs 最后写一个完整的场景覆盖 demo (自己动手哦) 你会发现…… 前端弱爆了,哈哈哈 开玩笑的,你会爱上 nest。 一定程度上可以替代 java 了~

最后附上我们正在基于 nest.js 的开源项目: https://github.com/notadd/notadd/tree/next


18 回复

把宝押在 node 上就不要奢望替代 Java 啦,一定程度也不行✋


赞回答


我们目前是这样的~~ 只要一定程度上能解决架构问题,那就一定程度上可以替代~

嗅到了标题党的气息

相对来说,node 没有好架构的框架,不论是 express koa egg

node 对于初期项目快速迭代,转发个请求什么的还是很有用的
但是要替代 java php 等大佬,那是不可能的
不是说 node 干不了大事,而是缺少规范

先看完 nest.js 再说吧,替代 php 是绰绰有余,而且规范要比 Laravel 严格~

想多了,先出个现象级产品再去 diss php,比如 wordpress

我觉得 前端控制路由 就挺好的了. 或者前期的快速开发

会出 nest boot,nest cloud 吗?

ECMA Script 是一门独立的语言和引擎规范,有自己独有的特性以及擅长的情景领域,要想拿 ES 来直接套用其他语言引擎的思想或语法,最终一定会失望。
就像买苹果设备只是在苹果生态中花钱的开始,开始使用 Node.js 引擎也是建设相关技术栈架构的开始,现在已经有很多架构思想是专门为 Node.js 相关技术栈特性设计的,用以扬长避短发挥 Node.js 引擎的最大效益,感兴趣可以去了解一下。
框架也好,规范也罢,都是工具,都是为项目服务的,项目启动技术选型要综合考虑最适合项目和人员的技术栈,软件工程没有银弹。

当然,有人在 Node.js 栈上面开拓新的方向,总归是可喜的事情,有贡献才会有发展。

感觉相当一部分功劳都是 ts 体现的……

程序思想是基本不变的,目前来说,java spring 在大型项目应用中已经很成熟了,其他语言如果朝着这方向发展,也会学习 spring 的一些思想,php 的 laravel ruby 的 rails ~~ node 也不会例外~

还不如直接整 java spring 那一套

开发成本高~ 部署困难,嵌入式上不好搞~

nest 中间件的设计真的很丑

关于Nest.js在Node.js中的使用情况

Nest.js确实是一个在Node.js社区中受到广泛关注和使用的框架。它不仅仅是一个框架,更是进入领域驱动设计、事件驱动、微服务架构等先进工程概念领域的推动者。

Nest.js是完全用TypeScript编写的(也支持纯JavaScript),并采用了面向对象编程(OOP)的设计模式。这种设计使得开发者可以更加高效地进行开发,并且可以很方便地进行单元测试和集成测试。此外,Nest.js还结合了函数式编程(FP)和函数响应式编程(FRP),提供了丰富的功能和工具,如路由、中间件、异常处理、日志、缓存、ORM等。

以下是一个简单的Nest.js控制器示例,展示了其路由功能:

import { Controller, Get } from '@nestjs/common';

@Controller('cats')
export class CatsController {
  @Get()
  findAll(): string {
    return 'This action returns all cats';
  }
}

这个控制器定义了一个名为cats的路由,并处理GET请求,返回一个简单的字符串。

总的来说,Nest.js以其模块化、可扩展性、松耦合和丰富的功能集,在Node.js框架中脱颖而出,成为许多开发者的首选。

回到顶部