V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jin7
V2EX  ›  Node.js

快 2021 年, node.js 选用哪个 web 框架, 个人轻度使用, 写几个 api 什么的.

  •  
  •   jin7 · 2020-08-01 12:11:16 +08:00 · 9335 次点击
    这是一个创建于 1577 天前的主题,其中的信息可能已经有所发展或是发生改变。
    47 条回复    2022-06-23 14:55:14 +08:00
    lihongming
        1
    lihongming  
       2020-08-01 12:14:14 +08:00 via iPhone   ❤️ 1
    serverless
    haleyao
        2
    haleyao  
       2020-08-01 12:53:09 +08:00
    问就是 nestjs
    gimp
        3
    gimp  
       2020-08-01 12:53:39 +08:00
    Express, NestJS
    justin2018
        4
    justin2018  
       2020-08-01 12:53:53 +08:00   ❤️ 2
    justin2018
        5
    justin2018  
       2020-08-01 12:54:00 +08:00   ❤️ 1
    jslang
        6
    jslang  
       2020-08-01 13:47:45 +08:00
    koa 还行,fastify 应该比 express 好,极其不推荐 nestjs 这种仿 Java 的框架
    lizz666
        7
    lizz666  
       2020-08-01 13:59:18 +08:00
    nestjs,3 年前写过 springmvc,这次用 nestjs 感觉我日,好熟悉,如果你没相关经验的话就不知道了
    lemon6
        8
    lemon6  
       2020-08-01 14:02:48 +08:00 via Android
    Koa2
    zidian
        9
    zidian  
       2020-08-01 14:04:26 +08:00
    轻度使用首先不推荐 nestjs
    cmdOptionKana
        10
    cmdOptionKana  
       2020-08-01 14:07:16 +08:00
    轻度使用没必要上 nestjs
    wunonglin
        11
    wunonglin  
       2020-08-01 14:18:44 +08:00
    nestjs
    watanuki
        12
    watanuki  
       2020-08-01 14:32:13 +08:00
    轻度使用首先排除 nestjs 和 egg,推荐 Express 或者 koa,npm 上有很多现成的中间件可以用。
    至于 Express 与 koa 选哪个,一般来说 Express 更容易上手,koa 则更加精简、灵活。
    love
        13
    love  
       2020-08-01 14:43:27 +08:00   ❤️ 1
    nest 这种就算了,一股 java 恶臭味

    express,如果喜欢 async 函数就 koa,二者都非常简单
    touno
        14
    touno  
       2020-08-01 14:47:40 +08:00
    自己写最轻
    HytonightYX
        15
    HytonightYX  
       2020-08-01 15:08:03 +08:00
    koa,装几个中间件,跨域的,连数据库的,静态文件的,解析 json 的,use 一下,就能用了,需求很简单的话你甚至只需要写一个 js 文件
    whypool
        16
    whypool  
       2020-08-01 15:08:16 +08:00
    express,教程多中间件多出了问题也好找
    async 这些 node 新版本都自带了,随便写
    markmx
        17
    markmx  
       2020-08-01 15:09:11 +08:00
    senecajs 感觉挺好
    zhengdai1990
        18
    zhengdai1990  
       2020-08-01 15:17:01 +08:00 via iPhone
    怎么没人说 egg
    Edwards
        19
    Edwards  
       2020-08-01 15:21:39 +08:00
    koa
    Administrat0r
        20
    Administrat0r  
       2020-08-01 15:35:48 +08:00
    koa 还有一个 micro 可以试试 更精致
    kenshinhu
        21
    kenshinhu  
       2020-08-01 15:47:05 +08:00
    怎么没人说 egg +1
    blindie
        22
    blindie  
       2020-08-01 15:55:18 +08:00 via Android
    刚写 express 和 koa 。express 上手还是快一点,用 ts 写泛型也是 express 聪明一点。koa router controller 这些东西要学一下,学会了也蛮好用。非常简单的 api 我肯定直接 express 一把梭。
    SolidZORO
        23
    SolidZORO  
       2020-08-01 15:57:19 +08:00 via iPhone
    nest.js ,AOP 分层极度舒适。
    Austaras
        24
    Austaras  
       2020-08-01 16:42:12 +08:00
    xjb 写就用 koa
    awesomes
        25
    awesomes  
       2020-08-01 16:55:16 +08:00
    当然首选 egg 了
    fxjson
        26
    fxjson  
       2020-08-01 17:05:00 +08:00
    怎么没人说 egg+1
    YuTengjing
        27
    YuTengjing  
       2020-08-01 17:13:08 +08:00
    自己写框架
    gnosis23
        28
    gnosis23  
       2020-08-01 17:28:56 +08:00
    koa 太底层了吧,还得各种配置
    shynome
        29
    shynome  
       2020-08-01 17:29:12 +08:00 via Android
    不要选 express 不支持 async
    我推荐 hapi,简单好用
    XCFOX
        30
    XCFOX  
       2020-08-01 19:29:57 +08:00
    hhhhuang
        31
    hhhhuang  
       2020-08-01 20:06:52 +08:00
    没人推荐 egg.js 吗
    AmiKara
        32
    AmiKara  
       2020-08-01 23:24:31 +08:00
    想要直接上手的话建议 egg
    longjiahui
        33
    longjiahui  
       2020-08-01 23:34:05 +08:00
    我觉得 egg 整挺好
    longjiahui
        34
    longjiahui  
       2020-08-01 23:34:25 +08:00
    我觉得 egg 整挺好+++
    superllyykk
        35
    superllyykk  
       2020-08-02 10:10:44 +08:00
    egg 已经基本满足了
    ranjiayu
        36
    ranjiayu  
       2020-08-02 10:54:34 +08:00
    简单的几个 API 的话:express 或者 不用框架
    CharmanderS5
        37
    CharmanderS5  
       2020-08-02 12:02:24 +08:00
    egg nest 算了 fastify 就行了
    7anshuai
        38
    7anshuai  
       2020-08-03 00:00:57 +08:00
    试试 express + graphql ? 推下自用简易脚手架 https://github.com/7anshuai/node-starter-kit
    yoyooyooo
        39
    yoyooyooo  
       2020-08-04 13:40:09 +08:00
    为什么都说轻度使用不要 nestjs 呢? koa 、express 还得各种自己配,路由也得自己配,nestjs 都给你搞好了
    workerbee
        40
    workerbee  
       2020-08-04 23:40:49 +08:00
    koa2 想怎么就怎么写
    libook
        41
    libook  
       2020-08-05 11:42:46 +08:00
    说实话,用 Node.js 内置的 http module 手撸 API 也蛮快的,比如自己写一些 CI/CD 的 hook 。

    轻量的话主流就是 koa 了,只有一个 context 核心,router 、bodyparser 等额外 use 几个 middleware 就行了。

    当然,如果你懒得自己装 middleware 也可以用一些集成方案,比如 express 。

    其他的就是哪个顺手用哪个,最好是不用遵循什么严格的架构设计的。
    jin7
        42
    jin7  
    OP
       2020-08-06 15:44:37 +08:00
    感谢各位大佬的回复.
    xcstream
        43
    xcstream  
       2020-08-09 20:43:56 +08:00
    express 该有都有,插件最多
    flykye
        44
    flykye  
       2020-08-10 11:40:14 +08:00
    thinkjs 也不错。方便。
    Wolfe
        45
    Wolfe  
       2020-08-23 23:39:32 +08:00 via Android
    Express + forever
    CodeCodeStudy
        46
    CodeCodeStudy  
       2020-09-02 18:59:55 +08:00
    @flykye Thinkjs 好久没更新了
    yuxian
        47
    yuxian  
       2022-06-23 14:55:14 +08:00
    轻度使用,首推 Hapi ,对性能要求,可以考虑 fastify
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:50 · PVG 00:50 · LAX 08:50 · JFK 11:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.