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

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

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

下面是一些网络资料:

koa

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

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

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

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