V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Lostbit
V2EX  ›  Node.js

Nest.js 这么好的框架火不起来感觉好可惜啊

  •  
  •   Lostbit · Sep 24, 2019 · 27139 views
    This topic created in 2408 days ago, the information mentioned may be changed or developed.
    前段时间试玩了一下 Nest.js ,感觉非常爽啊。 而且文档和生态都很全,Nest.js 把 Typescript 完美发挥到极致,写起来正的非常有感觉。

    这么好的框架火不起来 好可惜
    79 replies    2022-07-08 02:27:18 +08:00
    leafdream
        1
    leafdream  
       Sep 24, 2019
    其实已经挺火了 不少人在用
    Lostbit
        2
    Lostbit  
    OP
       Sep 24, 2019
    @leafdream 感觉现在到处都是 express、egg、koa。nest 很少听到有人用,而且 fastify 也很不错
    xxx749
        3
    xxx749  
       Sep 24, 2019 via Android
    Ok,一次试试
    xxx749
        4
    xxx749  
       Sep 24, 2019 via Android
    @xxx749 一次 -> 下次
    muxw6
        5
    muxw6  
       Sep 24, 2019 via Android   ❤️ 1
    最近正在学。
    a4854857
        6
    a4854857  
       Sep 24, 2019   ❤️ 2
    下次一定下次一定
    berumotto
        7
    berumotto  
       Sep 24, 2019 via iPhone
    学不动学不动(喘~)
    yagokoro
        8
    yagokoro  
       Sep 24, 2019 via Android
    nest 本质还是 express,但提供的语法糖目前看来足够多解决的问题也到位……现在比较坑的反倒是 TypeORM (手动狗头

    nest 现在真的初步具备了叫板 spring 的能力,可以抓前端业务不饱和的去写 CRUD 了;但不管用不用 nest,工程问题还是工程问题……
    Chemist
        9
    Chemist  
       Sep 24, 2019 via iPhone   ❤️ 3
    看了下文档,一股春天的味道。
    love
        10
    love  
       Sep 24, 2019
    瞄了眼文档,控制器还是用 class 的,一股陈年腐败的味道,不是我喜欢的 js 风格
    shakaraka
        11
    shakaraka  
    PRO
       Sep 24, 2019
    在用着,感觉人生到达了高潮
    3789
        12
    3789  
       Sep 24, 2019 via Android
    @love class 咋就陈年腐败了呢?🤨
    love
        13
    love  
       Sep 24, 2019
    @3789 如果你是 java/angular 粉,那当然见着这风格很亲切
    cmdOptionKana
        14
    cmdOptionKana  
       Sep 24, 2019
    @love 你不喜欢 class 可以理解,但 “陈年腐败” 这个形容令人费解。
    catinsides
        15
    catinsides  
       Sep 24, 2019
    真巧,正好刚才吃完饭搜了下 "2019 nodejs backend" 随便点的文章里看到了 Nest.js
    现在更有兴趣了
    hyyou2010
        16
    hyyou2010  
       Sep 24, 2019
    一直迷惑:何不直接 spring ?
    jrtzxh020
        17
    jrtzxh020  
       Sep 24, 2019 via iPhone
    没有一个功能完备的 orm 是硬伤
    Blacate
        18
    Blacate  
       Sep 24, 2019 via iPad
    用了一年多了 感觉文档不够详细 很多功能都是一点点试出来的
    mamahaha
        19
    mamahaha  
       Sep 25, 2019
    next.js 、nuxt.js 、nest.js 。。。。还有啥?
    blessyou
        20
    blessyou  
       Sep 25, 2019 via Android
    什么? nodejs 在服务端火了吗!
    ericgui
        21
    ericgui  
       Sep 25, 2019
    感觉各位还停留在工具这个层面。

    怎么说呢,个人以为,还是要以解决实际问题为出发点。

    我觉得 nextjs 挺好,但如果无脑尬吹,也不好,毕竟到底你用了 nextjs 是否解决了你的问题了吗?是否适合你们团队?是否适合你们的业务?等等吧,技术选型,考虑因素很多。

    个人玩玩的话,随便玩,没问题。
    B4PLpPSsR4voMdx0
        22
    B4PLpPSsR4voMdx0  
       Sep 25, 2019 via iPhone
    和其他事情类似,能不能火能不能成功要天时地利人和。
    lynskylate
        23
    lynskylate  
       Sep 25, 2019 via Android
    写 nest.js 每次写一半都会让我有一种感觉,我为什么不直接用 spring 呢。
    shakaraka
        24
    shakaraka  
    PRO
       Sep 25, 2019 via Android
    @hyyou2010 spring 能在 node 用吗?
    LancerComet
        25
    LancerComet  
       Sep 25, 2019
    同类还有 TS.ED ,一开始就是个服务容器,现在功能全了后两者就开始类似了
    gowk
        26
    gowk  
       Sep 25, 2019 via Android
    别问,问就是 Spring
    flyxl
        27
    flyxl  
       Sep 25, 2019 via Android   ❤️ 1
    @wunonglin 为用 node 而 node ?
    murmur
        28
    murmur  
       Sep 25, 2019
    都到了这个需求了还部拥抱 spring
    jaskle
        29
    jaskle  
       Sep 25, 2019 via Android
    小项目用 node 爽翻天,大项目基本上天天调试就行了,脚本语言硬伤
    CocaColf
        30
    CocaColf  
       Sep 25, 2019
    之前自己写过小项目,感觉写起来很有感觉,但是官方文档是真的不怎么样
    hantsy
        31
    hantsy  
       Sep 25, 2019
    nestjs 已经很火了, 作为新兴框架上升很快。

    不过像 Express 这些添加了 Typescript 官方支持,完全可以用 Typescript 写了。
    hantsy
        32
    hantsy  
       Sep 25, 2019
    @cl903254852 fastify 应该是从头重写的,以性能著称。API 写法与 Express 有相似之处。
    NestJS 不一样,包装了 Express,Koa。对于 OOP 熟悉,很容易入手,加上 Typescript 和 Rxjs,写起来感觉比较现代吧。
    wszgrcy
        33
    wszgrcy  
       Sep 25, 2019 via Android
    用 ng,然后无门槛过渡
    shakaraka
        34
    shakaraka  
    PRO
       Sep 25, 2019
    @flyxl 只会 js、ts,不会 java、c++,难道 node 有了类似 spring 的框架不好?而且 nest.js 是 node 所有框架里面对 ts 支持最好的,没有之一
    hapboy
        35
    hapboy  
       Sep 25, 2019 via iPhone   ❤️ 1
    做过项目,Nest.js 、TypeORM 还是有太多坑,特别是 TypeORM。
    fool079
        36
    fool079  
       Sep 25, 2019
    nest + graphql 做 bff 真香
    abcbuzhiming
        37
    abcbuzhiming  
       Sep 25, 2019
    @wunonglin nest.js 有个非常尴尬的地方,它的思路完全是后端的思路,静态的,强类型约束,依赖注入。你想想 node 面对的绝大部分用户,都是不喜被约束的脚本小子,ts 这东西算是广受好评并被广为宣传的,但是大量搞前端的就死活接受不了,尤其是类型系统。让他们接受被约束的更厉害的 nest.js...呵呵呵我不看好。
    cuzfinal
        38
    cuzfinal  
       Sep 25, 2019 via Android
    为什么不用 spring 呢
    abcbuzhiming
        39
    abcbuzhiming  
       Sep 25, 2019
    @hapboy 能说一下 TypeOrm 的坑在哪里吗,目前 node 领域比较好的 ORM 有哪些?
    whypool
        40
    whypool  
       Sep 25, 2019
    express 一把梭,为啥要学新的
    shakaraka
        41
    shakaraka  
    PRO
       Sep 25, 2019
    @abcbuzhiming

    #37 express、egg、koa 这些传统的 js 框架太过于松散,思路还是 js 那套,反观 nest.js 拥有了静态强类型、依赖注入等理念在所以我才说 nest.js 才是真正作为后端的框架。与其说和 spring 像,倒不如说是走向了真正后端的路子
    shakaraka
        42
    shakaraka  
    PRO
       Sep 25, 2019
    @abcbuzhiming

    #37 虽然现在周边还是不够完善,但是至少走对路了不是么
    miniwade514
        43
    miniwade514  
       Sep 25, 2019
    我现在用框架 /库,巴不得它就是用 TS 写的,至少有完善的 .d.ts 文件。为啥有人会因为 TS 而拒绝某个框架?
    用 TS 写的项目,代码可读性和可维护性都会有明显的提升。个人项目可能不在意这个,但是对企业项目而言是很重要的。
    cloudzqy
        44
    cloudzqy  
       Sep 25, 2019 via Android
    主要是,前端上 node,主要就做个中间层,直接拿来写业务的很少很少,不需要太复杂的框架。
    optional
        45
    optional  
       Sep 25, 2019
    nest 其实更像 angular,对后端来说注入的方式有点不喜。
    oneisall
        46
    oneisall  
       Sep 25, 2019
    在用着,感觉人生到达了高潮
    Lostbit
        47
    Lostbit  
    OP
       Sep 25, 2019
    @jrtzxh020 我不喜欢 ORM,更喜欢直接用 mysql 包直接上。ORM 有很多潜在问题
    Lostbit
        48
    Lostbit  
    OP
       Sep 25, 2019
    @kyuuseiryuu 老司机
    Lostbit
        49
    Lostbit  
    OP
       Sep 25, 2019
    @wunonglin 哈哈 羡慕
    Lostbit
        50
    Lostbit  
    OP
       Sep 25, 2019
    @catinsides 我一直都有兴趣,奈何只能自己玩,推不动。现在基本都是 Egg
    Lostbit
        51
    Lostbit  
    OP
       Sep 25, 2019
    @Blacate 是的 ,文档对入门来说很友好,对老手来说细节很模糊
    nigelvon
        52
    nigelvon  
       Sep 25, 2019
    文档不行,很多细节都没提,需要去翻源码,其他都挺好。整个热度上升还是很快的,对于需要长期维护多人协作的项目来说确实是神器。
    Lostbit
        53
    Lostbit  
    OP
       Sep 25, 2019
    @hapboy typeORM。。。不提也罢,还不如直接用 mysql 包撸
    userdhf
        54
    userdhf  
       Sep 25, 2019
    问下,工程问题,必须是软件工程专业的人去解决吗,该怎么学习?
    Lostbit
        55
    Lostbit  
    OP
       Sep 25, 2019
    @abcbuzhiming 我就是前端,纯的。 我喜欢 typescript,也喜欢 nest.js😄
    Lostbit
        56
    Lostbit  
    OP
       Sep 25, 2019
    Lostbit
        57
    Lostbit  
    OP
       Sep 25, 2019
    @cloudzqy BFF 可以的
    lblblong
        58
    lblblong  
       Sep 25, 2019
    之前简单看过文档,中间件的使用方式不太友好,既然路由都用装饰器分散定义到每个 function 上了,那为什么中间件要统一定义。
    像 midway 定义路由中间件的方式就挺不错的( https://midwayjs.org/midway/guide.html#路由中间件 ),但是 midway 之前用起来也是很多问题,官方介绍说在阿里集团内部跑了很久了,有点怀疑
    miniwade514
        59
    miniwade514  
       Sep 25, 2019
    @lblblong 跑得久不管用。用得广,框架才会越来越完善。可以对比一下 midway 和 egg 这两个框架在 github 页面上的 "Used by" 数量。
    shakaraka
        60
    shakaraka  
    PRO
       Sep 25, 2019
    @miniwade514

    #59 nest.js Used by 12,054 哈哈哈哈哈
    YUyu101
        61
    YUyu101  
       Sep 25, 2019
    js 用 orm 就像自缚手脚,postgres json_agg 一下,直接把 sql 当成 nosql 用。java 用 orm 是没办法,总不可能 map 撸一切吧,那和 js 有什么区别
    StarkWhite
        62
    StarkWhite  
       Sep 25, 2019
    @YUyu101 我看那个男人写的就是 Java 用 Map 一把梭撸一切,之前还在 V 站到处打广告 /偷笑
    StarkWhite
        63
    StarkWhite  
       Sep 25, 2019
    @cl903254852 TypeORM 这么不堪的?试试 Prisma
    dany813
        64
    dany813  
       Sep 25, 2019
    nest 不错
    Biebe
        65
    Biebe  
       Sep 25, 2019 via iPhone
    我选择了 tsed
    niknik
        66
    niknik  
       Sep 25, 2019
    我选择 meteor 框架
    yu7er
        67
    yu7er  
       Sep 25, 2019
    现在一直是用 nest+typeorm,快乐的不行
    Lostbit
        68
    Lostbit  
    OP
       Sep 25, 2019
    @yu7er 羡慕
    Fortnight
        69
    Fortnight  
       Sep 25, 2019
    这玩意搭配 angular 应该挺好玩的,之前有想过用,但是没想到足够说服自己的理由,其他同事似乎也对 nest.js 不太感冒,只能放弃
    IvanLi127
        70
    IvanLi127  
       Sep 25, 2019 via Android
    希望同事愿意换
    tommyZZM
        71
    tommyZZM  
       Oct 12, 2019
    nder the hood, Nest makes use of Express,

    看到这句就不想用
    tommyZZM
        72
    tommyZZM  
       Oct 12, 2019
    under the hood, Nest makes use of Express,

    看到这句就不想用
    Lostbit
        73
    Lostbit  
    OP
       Oct 15, 2019
    @tommyZZM 也可以改成使用 fastify
    SolidZORO
        74
    SolidZORO  
       Oct 19, 2019
    typeORM 是个大坑,别的还好,说多都是泪啊。好些地方虽然知道 rawQuery 不可取,但没有办法。
    Lostbit
        75
    Lostbit  
    OP
       Oct 20, 2019
    @SolidZORO 这个我赞成,所以我直接是 nestjs + mysq,不用 typeORM
    hezhuowei
        76
    hezhuowei  
       Oct 21, 2019
    感觉,历史遗留问题的都去坚守 php 了.
    追求性能的上 Golang.
    追求工程化的上了 java.
    我目前是 egg+typeorm,
    之前是 Express+sequelize,
    再之前是写 php+小程序的.
    Lostbit
        77
    Lostbit  
    OP
       Oct 22, 2019
    @hezhuowei egg 也不错,我喜欢 nestjs 是因为它把 typescript 玩到了极致,而且用 nestjs 更像 spring,我虽然是前端 但以前学过 java,所以写起来很爽。 至于数据库,我没用 typeorm,也没用其他 ORM,直接上的 mysql 驱动包写 sql
    rf99wSiT6IxH1Z23
        78
    rf99wSiT6IxH1Z23  
       Oct 25, 2019
    用 angular 比较多,nest 用 ts 写,很喜欢啊
    frankies
        79
    frankies  
       Jul 8, 2022 via Android
    nestjs+prisma,别用 typeORM
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2820 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 138ms · UTC 15:46 · PVG 23:46 · LAX 08:46 · JFK 11:46
    ♥ Do have faith in what you're doing.