Node框架Egg.js和Express有何区别,哪个更适合新手学习。

如题,小弟后端新手一枚,现在想学习node.js来自己搭建一个简单的后端。只需要会写简单的api来实现数据的存取。
已知有像express和egg这样的框架。那么对于node新手而言,学习哪一种node框架比较好上手,能快速实现我的需求?
求各位朋友指点迷津,谢谢~

阅读 28.2k
6 个回答

刚开始更推荐是用express玩一下,然后脱离express自己模仿造一个类似的轮子。

然后对各方面熟悉之后可以用express或者koa搭一个更完整的。

最后才上egg会好点,对于学习而言。

首先,Node.js 的基础要先打牢。朴老师的「深入浅出 Node.js」还是值得一看的。

其次,Express 不建议再学习了,至少从 Koa 开始吧。

Koa 是洋葱模型,很多 express 的插件,改用 Koa 写则非常非常的简单。

egg-and-koa
所有的请求经过一个中间件的时候都会执行两次,对比 Express 形式的中间件,Koa 的模型可以非常方便的实现后置处理逻辑,对比 Koa 和 Express 的 Compress 中间件就可以明显的感受到 Koa 中间件模型的优势。

最后,了解 Koa 后,可以去看看 Egg 的文档,看看我们是怎么在 Koa 基础上做扩展的,如果合你胃口,可以 give a try。

对于新手,建议不要太功利化

  • 作为学生或者说初学者,建议像海绵那样,多去学习,多去吸收,不要太功利化。

  • 学习 Egg.js 不代表你必须用它,它也不会成为你学习后,一生都会用的东西。

  • 而是要去思考,Egg.js 遇到了什么问题,解决了什么问题?同类框架是如何解决这个问题的?他们之间的对比是怎么样的?谁优谁劣?如果他们的方案各自优点结合起来,又会怎么样?(可以看看 知乎问答:如何评价阿里开源的企业级 Node.js 框架 egg?)

  • 看看文档,看看源码,能有收获就值了,如果发现写的很烂的话,直接跳坑咯。没有一个框架是你学习后可以用一辈子的,程序猿最怕的是「你那不叫十年工作经验,是一年工作经验用十年。」

利益相关:Egg 核心开发者。

看到有人吐槽蛋蛋EGG,我还是忍不住要为它正一下名,当然,我还是推荐题主自己先学习express和node原生API的

那些说EGG不靠谱的人,你们有真正用node做过服务端后台项目吗?

你们知道node部署多进程(集群)时,创建一些特殊任务有多繁琐吗?

你们知道EGG把多少重复的工作简化了吗?你们知道用express开发企业级后端服务有多少坑要踩吗?(讲真,express和koa没有插件整合,就是玩具而已)

anyway,我觉得EGG是一个靠谱的企业级框架,并且准备在下一个项目中深度使用了!

真正用过node开发后端服务的人看到EGG,绝对都是一种惊喜的感觉,终于把我曾经踩过的坑和一直想整合到一起的东西给整合到了一起了!

。。。你有web工作思维没有?。。没有的话,先了解下,web工作的基本流程。
学学express 这个相对简单点,eggjs 需要的东西感觉好想挺多(PS:没怎么玩过)。
让后了解一些node基本api 文件,流,事件,网络这些

我也觉得express好用,简单一下个,一会就会了,逻辑也很容易看懂,我把单位网站都改成express了,前台用ng

学习Express,egg是阿里新出的框架,我认为个人学这个不靠谱,因为你不知道要踩多少坑,没有社区遇到问题没地方寻找答案。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏