V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pandaaa
V2EX  ›  程序员

初学 node,我是选择最新的 koa2 还是更加稳定的 express 框架啦?

  •  
  •   pandaaa · Aug 9, 2017 · 20213 views
    This topic created in 3184 days ago, the information mentioned may be changed or developed.

    稍微在网上看了一下各位大大的评论,必过都是 1 年前或者更早的。不知道现在的使用情况是怎样的。两个框架哪个更加适合 node 新手学习。

    下面是一些网络资料:

    koa

    koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa 不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手。

    》 koa 是一个比 express 更精简,使用 node 新特性的中间件框架,相比之前 express 就是一个庞大的框架,但是 express 社区强大,该遇到的问题都遇到了,比较好解决。应用丰富,不用自己写。koa 比较灵巧,需要的中间件可以自己写,也不困难,源码易懂。《

    不过最后,还是想问下各位的见解和各位公司使用 node 的情况。我自己的意愿是想从 koa2 入手,顺便扎实 es6 的扎实和了解 es7 的新特性 await...等。

    23 replies    2018-05-03 13:04:38 +08:00
    pqee
        1
    pqee  
       Aug 9, 2017
    koa 不是也好几年了吗。。。
    pandaaa
        2
    pandaaa  
    OP
       Aug 9, 2017
    @pqee koa2 呀,看社区说等 node 支持 es7 了,就再推新版的特性支持 await 写法什么的
    nullcc
        3
    nullcc  
       Aug 9, 2017
    阿里基于 koa 出了个 egg,可以玩玩
    pandaaa
        4
    pandaaa  
    OP
       Aug 9, 2017
    @nullcc 玩个蛋蛋的意思嘛。我去看看,谢了。
    zhihy123
        5
    zhihy123  
       Aug 9, 2017
    都差不多的,而且现在 node 支持 async/await 语法,一样可以在 express 里面用。
    pandaaa
        6
    pandaaa  
    OP
       Aug 9, 2017
    @zhihy123 恩恩,我看的廖雪峰的教程,直接上的 koa2.感觉是挺好用的,不过有些地方还是有点不熟。
    caizhendi
        7
    caizhendi  
       Aug 9, 2017
    你打算怎么学呢。。。。我现在看廖雪峰教程跟着打。。。
    mooncakejs
        8
    mooncakejs  
       Aug 9, 2017
    @pandaaa 等 LTS ?不然现在 node 出到 8 了
    huangzitao
        9
    huangzitao  
       Aug 9, 2017 via Android   ❤️ 1
    没什么区别,作为新手要熟悉的其实是 http 协议,框架什么的都一样,然而 js 作为一门辣鸡语言,劝楼主早日放弃啊
    blanu
        10
    blanu  
       Aug 9, 2017 via iPhone
    没区别,ORM 好好学学,SQL、表优化等等,后端坑太大……
    DCjanus
        11
    DCjanus  
       Aug 9, 2017
    KOA2 配合 TypeScript,写起来简直太爽
    seasstyle
        12
    seasstyle  
       Aug 10, 2017 via Android
    @DCjanus 膜拜大神
    markocen
        13
    markocen  
       Aug 10, 2017 via Android   ❤️ 1
    建议选择 express, express 的生态比 koa 好太多,从 npm 每日下载量也能看出 express 更加流行,
    leopku
        14
    leopku  
       Aug 10, 2017
    express +1
    caiya21
        15
    caiya21  
       Aug 10, 2017
    koa 2
    welefen
        16
    welefen  
       Aug 10, 2017
    这时候有必要推广下 ThinkJS,哈哈 https://thinkjs.org/
    welefen
        17
    welefen  
       Aug 10, 2017
    ThinkJS 是基于 Koa2 的,可以直接使用 async/await
    DCjanus
        18
    DCjanus  
       Aug 10, 2017   ❤️ 1
    @seasstyle ???怎么就大神了?

    @pandaaa 我以前写 Java web 后来被人拉去写 Node web,不清楚用 JS 写是什么情况,一上来用的就是 TypeScript。
    个人比较喜欢 Koa 这种非常自由的框架,TypeScript 也可以为自己提供良好的代码补全支持(至于编程哲学家们说的什么 TypeScript 改变思路之类的东西我没多少体会,因为确实没正经写过 JS)。
    web 开发里最常用的功能也就是人气最高的功能肯定会有人去实现,不管是 express 还是 Koa2,这方面并不需要太过担心。另外不知道别的地方怎么样,反正我们那 node web 只用于比较简单的逻辑,历史包袱比较轻,所以并不需要太多非常深度的功能。

    真要选择大概是看你个人喜好吧,喜欢一站式服务的选 express,喜欢灵活自由的就用 Koa2。

    BTW: TypeScript 确实安利一下,可能是目前最好用的 JS 代码补全工具(大雾)
    pandaaa
        19
    pandaaa  
    OP
       Aug 10, 2017
    @DCjanus 恩,谢谢了
    pandaaa
        20
    pandaaa  
    OP
       Aug 11, 2017
    谢谢大家的建议
    pandaaa
        21
    pandaaa  
    OP
       Aug 11, 2017
    我决定还是先看一下 express,扎实一下基础。再使用 koa2
    pandaaa
        22
    pandaaa  
    OP
       Aug 14, 2017
    @DCjanus 谢谢您的建议
    xuemeigood
        23
    xuemeigood  
       May 3, 2018
    建议 koa2,它最新的 Es6 Es7 语法运行速度相比 Express 要快很多的,这个也分享个教程,你看看估计就清楚了 https://pan.baidu.com/s/1KNaA97kGwNhavch5rP_G7w
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1196 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    ♥ Do have faith in what you're doing.