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

2017-08-09 17:19:18 +08:00
 pandaaa

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

下面是一些网络资料:

koa

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

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

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

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

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

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

BTW: TypeScript 确实安利一下,可能是目前最好用的 JS 代码补全工具(大雾)
pandaaa
2017-08-10 21:25:04 +08:00
@DCjanus 恩,谢谢了
pandaaa
2017-08-11 10:30:03 +08:00
谢谢大家的建议

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381730

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX