cpf
V2EX  ›  Node.js

nodejs 后端框架的选择

  •  2
     
  •   cpf · Jan 16, 2023 · 17648 views
    This topic created in 1389 days ago, the information mentioned may be changed or developed.

    只想安分的写一些接口,给自己的项目用,可能大概有 2 ,30 个接口吧 看了这么久,看中两个,nestjs 和 midwayjs,两个的使用方式现在看着挺像的 有木有过来人给给建议,我应该选哪个? 前端用的 React,想搞个前后端分离的项目

    小声提问:trpc 和上面那两个的区别是什么,去到官网看,没看太懂

    74 replies  •  2023-05-30 17:39:21 +08:00
    cpf
    cpf
    OP
    Jan 16, 2023
    1
    大背景:我是一名前端,最近在搞毕设
    Hanggi
    Hanggi
    Jan 16, 2023
    2
    选 Nest.js 就好,其他的没有特别理由就不用考虑了。
    ysc3839
    ysc3839
    Jan 16, 2023 via Android
    3
    啥需求?只是对接数据库的话用 Koa+TypeORM 吧
    estk
    estk
    Jan 16, 2023 via iPhone
    4
    小需求 3 楼,大需求 NestJS
    Leviathann
    Leviathann
    Jan 16, 2023
    5
    trpc 比较有冲击力
    方便毕设里吹
    本身自带 server 端
    也可以和 next.js fastify express 结合使用
    crysislinux
    crysislinux
    Jan 17, 2023 via Android
    6
    要简单直观还是 express 这种传统框架好。nestjs 概念细节挺多的。说实话我更喜欢 express 那种 route 定义。
    iwdmb
    iwdmb
    Jan 17, 2023
    7
    项目不大求稳定选 Express 久经考验
    https://expressjs.com/
    IvanLi127
    IvanLi127
    Jan 17, 2023 via Android❤️2
    8
    毕设直接 express 或 fastify 吧,避免折腾多余的东西
    heasy
    heasy
    Jan 17, 2023 via Android
    9
    nestjs
    me221
    me221
    Jan 17, 2023
    10
    蹲一个 trpc 是什么东西.

    我也是看了半天没看懂
    slowgen
    slowgen
    PRO
    Jan 17, 2023❤️1
    11
    NestJS 比较正统,Midway 会被阿里味毒打,Directus 比较适合单人干活偷懒省事
    ericgui
    ericgui
    Jan 17, 2023
    12
    @ysc3839 prisma 怎么样
    cuebyte
    cuebyte
    Jan 17, 2023
    13
    Redwood.js 了解一下
    liveoppo
    liveoppo
    Jan 17, 2023
    14
    express 简单明了
    nextjs 可得学相当时间
    netabare
    netabare
    Jan 17, 2023 via Android❤️1
    15
    @me221 +1 ,我也有点好奇(
    kongkx
    kongkx
    Jan 17, 2023 via iPhone
    16
    从积累经验的角度看,选 nestjs
    haole2022
    haole2022
    Jan 17, 2023
    17
    小项目可以试试 trpc

    正常前后端分离,后端写完 api 后,前端需要写一堆 boilerplate 代码调用 api ,而且不知道数据的具体 schema

    使用 trpc ,可以直接调用后端 function 名称获取数据,通过 typescript 也能看到数据具体 schema

    后端更新了 schema / function, 前端会自动报错,这样写起来很放心
    datadump
    datadump
    PRO
    Jan 17, 2023
    18
    nestjs 吧。唯一的缺点就是设置断点后速度很慢
    dayeye2006199
    dayeye2006199
    Jan 17, 2023
    19
    接口不多就 express 把.
    学 nestjs 的时间,express 都撸完了
    zhangxh1023
    zhangxh1023
    Jan 17, 2023
    20
    如果不想搞的很复杂的话,midwayjs 因为自带一些进程管理,单机跑什么的或者有这方面的需求可以简单很多。
    个人觉得相对来说 nestjs 上手会复杂一些,eggjs 和 midwayjs 中文文档都完善一些。
    如果让我选择,公司项目我选 eggjs ,简单干完活就完事儿了(话说之前一个公司项目我用了 midwayjs ,后悔死了,后面直接变成 anyscript )。如果是自己玩,我选 nestjs ,好玩儿,看起来牛逼。
    wu67
    wu67
    Jan 17, 2023
    21
    要快速出货, express 或者 koa 一把梭. nestjs 和 prisma 真的是把我劝退了, 入门曲线太那啥了...有那精力, 我为什么不直接来套 java 生态
    TomVista
    TomVista
    Jan 17, 2023
    22
    express 这种就行了,我一直想不明白把 spring 那套搬到 node 上是想干啥,java 不香吗
    zhangky
    zhangky
    Jan 17, 2023
    23
    express
    SanjinGG
    SanjinGG
    Jan 17, 2023
    24
    直接 koa 吧,你现在需求也只是为前端提供数据支持,nest 学习成本太大了,不深耕后端选 nest 没有必要。
    superedlimited
    superedlimited
    Jan 17, 2023
    25
    nest.js 并不是 spring 那一套,它是源于 angular.js
    hahiru
    hahiru
    Jan 17, 2023
    26
    express ,简单方便快捷。我 10 分钟就能弄完的东西弄其他那么复杂的干啥。
    linkopeneyes
    linkopeneyes
    Jan 17, 2023❤️1
    27
    @superedlimited nest 并不是 angular.js 那一套,它是源于 angular ,这两个东西还是天差地别的
    L1shen
    L1shen
    Jan 17, 2023
    28
    可以看看 https://create.t3.gg/
    这个集成的技术栈
    libook
    libook
    Jan 17, 2023
    29
    只写接口的话 Express 开箱即用,希望自己搭配中间件的话 Koa 就可以。
    其他的看你是否有其他语言框架的架构思想需要,有一堆参考其他语言框架思想的框架。
    weixiangzhe
    weixiangzhe
    Jan 17, 2023
    30
    先 github 找个自个能看懂的 demo 先,express 也行嘛,nestjs 确实比较前期花时间
    loading
    loading
    Jan 17, 2023
    31
    看看 pocketbase 吧,后端直接不用管。你新建个文件夹放你的前端文件就行了。
    XG9H3BN7CWMMmnjw
    XG9H3BN7CWMMmnjw
    Jan 17, 2023
    32
    eggjs
    leeho
    leeho
    Jan 17, 2023
    33
    nestjs ,省心省事
    lovedebug
    lovedebug
    Jan 17, 2023
    34
    推荐 nestjs ,已经在云服务上大量使用
    FrankFang128
    FrankFang128
    Jan 17, 2023
    35
    Next.js > Nest.js > express
    hutoer
    hutoer
    Jan 17, 2023
    36
    fastify 足够了,nestjs 太复杂,自己用用完全没必要
    orluna
    orluna
    Jan 17, 2023
    37
    midway
    nullEDYT
    nullEDYT
    Jan 17, 2023
    38
    折腾自己吧,怎么难怎么来
    tonytonychopper
    tonytonychopper
    Jan 17, 2023
    39
    直接 nestjs
    wwatson
    wwatson
    Jan 17, 2023❤️1
    40
    2 、30 个接口的话直接用 Nestjs 吧,开箱即用,搭配 prisma 非常丝滑,用 Express 还需要自己一点一点组轮子。别用阿里的东西,面向 kpi 的产物,用了会变得不幸。
    334132462
    334132462
    Jan 17, 2023
    41
    next.js 也可以 特喜欢那种文件目录既路由的感觉 约定既配 并且也可以写 api
    cpf
    cpf
    OP
    Jan 17, 2023
    42
    非常感谢大家的建议,我这个毕设是打算后面继续维护迭代的,所以不想草草了事,当时有考虑过`express`(因为我一开始学的就是`express`,写几个接口很方便),但是我不太懂后端,比如文件结构之类的,如果单单用`express`的话,我可能写出来的代码会很难看,然后好像也没有 ts 支持,今天上午想了一上午,还是决定使用`nestjs`,虽然我不懂那些依赖注入、装饰器的那些原理,但是我看着挺舒服的,应该也能好好的写下去,加油!

    > `trpc`真的没有大佬在用吗?(干瞪眼)我看`star`数 2022 年上涨的挺快的
    clf
    clf
    Jan 17, 2023
    43
    整花里胡哨一点可以搭一个 laf 的 serverless 平台,然后写云函数。
    Pipecraft
    Pipecraft
    Jan 17, 2023
    44
    前几天看到的一篇文章:为何开发人员开始喜欢 tRPC 啦? https://linux-china.davao.page/blog/2023-01-14-why-trpc/
    sparkle2015
    sparkle2015
    Jan 17, 2023
    45
    其实也可以不用前后端分离。如果不前后端分离的话,可以看看 remix ( https://remix.run/ ) 这个框架。
    nerocho
    nerocho
    Jan 17, 2023
    46
    如果要在 midwayjs 和 nestjs 二选一的话,建议 nestjs ;或者就纯纯的 koajs 或者 expressjs 不香么,简单小巧项目清真。个人觉得 nodejs 后端用 typescript 挺烦的,不论是调试还是打包编译啥的挺慢的,nodejs 本身语法跟进挺快的,没必要搞啥 ts 。或者你要写 ts ,直接写 deno 不就完了,最后说一句 golang 真香。。。
    gimp
    gimp
    Jan 17, 2023
    47
    Express 一把梭
    cktsun
    cktsun
    Jan 17, 2023 via Android
    48
    tRPC + express/fastify 最好
    cktsun
    cktsun
    Jan 17, 2023 via Android
    49
    t3 stack 很流行 trpc 這一套, 又支援邊緣計算, nestjs 就大可不必了
    如果你不肯挑戰新事物, 你就過時了
    shuson
    shuson
    Jan 17, 2023
    50
    试试 headless CMS ,例如 strapi ,keystone 之类的
    如果你是前端,不擅长后台+数据库
    cktsun
    cktsun
    Jan 17, 2023 via Android
    51
    trpc 是什麼?好不好用?下手去用才知道
    要配合 Typescript, 至於那些說 Node+TS 麻煩不如用 deno 的人, 你不用看, 他們壓根沒試過
    看自己想選擇哪一些你認為合適的技術, 但不要怕設置麻煩
    RRRoger
    RRRoger
    Jan 17, 2023
    52
    小项目可以使用 express 挺简单的
    dc2002007
    dc2002007
    Jan 17, 2023
    53
    thinkjs 简单使用,不费脑子
    TWorldIsNButThis
    TWorldIsNButThis
    Jan 17, 2023 via iPhone
    54
    2023 年自己的项目显然是 trpc
    对于全栈 web 开发有划时代意义的全链路类型安全
    JavenXiao
    JavenXiao
    Jan 17, 2023
    55
    我推荐个二合一的框架:Meteor ( https://www.meteor.com )

    可以用 react 语法前后端一把梭
    xieren58
    xieren58
    Jan 17, 2023
    56
    推荐一个小众的, 我已经用在生产一年多了. https://moleculer.services/
    hutoer
    hutoer
    Jan 17, 2023
    57
    @xieren58 我也在用 moleculer ,看到 moleculer 后果断放弃 nestjs
    uni
    uni
    Jan 17, 2023
    58
    说不定你只需要 strapi……
    learningman
    learningman
    Jan 17, 2023
    59
    想要强类型为啥不 graphql
    LiTangDingZhen
    LiTangDingZhen
    Jan 17, 2023
    60
    小项目用 express koa 就行
    kxxoling
    kxxoling
    Jan 17, 2023
    61
    实用一下 redwood ,感觉很完善了,一个大而全的全栈框架。
    CoderLife
    CoderLife
    Jan 17, 2023
    62
    eggjs
    LawlietZ
    LawlietZ
    Jan 17, 2023
    63
    egg
    longjiahui
    longjiahui
    Jan 17, 2023
    64
    egg
    Al0rid4l
    Al0rid4l
    Jan 18, 2023
    65
    底层的 express/koa/fastify, 三个里面建议 fastify, 不建议 express
    大而全的就 nestjs
    headless cms 就 strapi
    ikidou
    ikidou
    Jan 18, 2023 via Android
    66
    歪个楼,简单写 api 可以试试 cloudflare workers/ pages functions ,支持 kv 数据库,最近好像支持 sql 了,可以部署到他的服务器上,不知道和楼上提到的框架那个写起来更快
    kylebing
    kylebing
    Jan 30, 2023
    67
    express 就足够好用了感觉,我的项目除了自行重启更新功能外,就没出过问题。
    一个普通项目 + 一个 websocket 服务

    arfaWong
    arfaWong
    Feb 2, 2023
    68
    @haole2022 #17 看你的介绍,感觉 trpc 和 grpc 是很像的东西
    YOUXIAZ
    YOUXIAZ
    Feb 13, 2023
    69
    midway
    esee
    esee
    Mar 10, 2023
    70
    @cpf 有点好奇,如果是自己一个人写,前后端一把梭的,真的有必要上 ts 么。我反正自己写的时候就喜欢纯 js 。。
    chaselen
    chaselen
    Apr 4, 2023
    71
    @esee #70 小项目 js ,大点的 ts 。要不到处都是 any ,代码提示都没有,写一堆 jsdoc 也挺麻烦的
    fairylyness
    fairylyness
    Apr 24, 2023
    72
    @esee 感觉没啥必要,ts 感觉多人合作的时候更有用,或者是项目大了的情况下上 ts
    rockey543400
    rockey543400
    May 10, 2023 via iPhone
    73
    强推 directus hasura
    特别是 hasura 很方便就能实现分布式
    directus 的优势是方便,连后台管理界面都不用写了
    CJ2r4u3EH4lrM7aR
    CJ2r4u3EH4lrM7aR
    May 30, 2023
    74
    我之前做博客也试过 nestjs ,后来放弃了,纯纯的浪费时间。
    它是一种另起炉灶的框架,什么都是重新定义,什么都要重新学,完全与其他技术隔离(除了 ts ),类似 flutter 。但 flutter 的地位不是他能比的,只增加 ts 经验与 nodejs 几乎无关找工作几乎无贡献。
    学这种冷门复杂的框架,几乎没有任何收益,有那精力直接用 java 不好吗。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2160 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 159ms · UTC 13:34 · PVG 21:34 · LAX 05:34 · JFK 08:34
    ♥ Do have faith in what you're doing.