如果没有接触过koa,建议直接学习egg.js吗?
发布于 1 年前 作者 chinahsj 3704 次浏览 来自 问答

nodejs接触一年左右,一直在用express,想问下大家,如果没有接触过koa,建议直接学习egg.js吗?会不会很吃力,突然对egg.js有兴趣!

35 回复

我觉得不会, 直接看egg文档吧

嗯,正在看 (#^.^#)

koa 的文档和源码,也就一小时能搞定吧

Update:

https://github.com/koajs/koa/blob/master/lib/application.js 源码一共 4 个文件,加注释和空格合在一起也才 2000 行左右,大部分逻辑都是 getter / setter

https://github.com/koajs/koa/blob/master/docs/api/index.md 文档的 md 文件,合在一起也才 1000 行左右。

核心依赖也就一个 https://github.com/koajs/compose 来实现 Middleware , 50 行代码。

@atian25 大佬打扰了,express源码我就看的睡着了不知道多少次。

不建议 先看看koa教程再去学egg

Koa2教程百度网盘下载(20讲): https://pan.baidu.com/s/1KNaA97kGwNhavch5rP_G7w

@chinahsj 看看文档其实就可以了,Koa 不复杂,就是在 Node http server 上一层很薄的封装而已,提供了一些语法糖,还有最重要的中间件模型。

最近基本是个 egg 自来水 先看egg,文档很不错,教程详细有理有据 对没做过后端的同学来说,看这个没啥错

得先学学koa,然后再去学egg 不然云里雾里,

koa 就是项目启动时把app.use(回掉),把这些回掉push到一个数组里,这个数组就叫中间件数组,每次当请求来时,http.createServer(function(req,res){ koa都在这里做的处理 }),把先把req和res包装成一个 ctx对象,这个对象上包含客户端传过来各种信息,比如cookies,参数,路径等等,res包括一系列响应客户端的方法。所以ctx包含了req和res的所有功能。包装完成ctx后再开始执行中间件数组,第一个到最后一个。把ctx当参传入。

不用吧,看egg文档就能直接撸了,蛋蛋的文档还是不错的

楼主,你现在工作的内容是用node开发吗,你感觉现在使用node开发服务器的公司越来越多么

@vueper 是,路由看的云里雾绕的,很多坑,get路由可以,post就请求不到等等这些小问题,一定是哪个细节没有注意到

@744537645 对的,我们公司后端用的nodeJs,我感觉js会是一波潮流,typescript等等。

hapi.js也不错

Koa2必须先学学

我觉得可以直接看eggjs文档吧,吃透就好

@chinahsj Koa 比 Express 更加精简,很快~

这套koa教程还不错,18年的,楼主你需要可以看看网盘下载

@liangtongzhuo +1

https://github.com/koajs/koa/blob/master/lib/application.js 源码一共 4 个文件,所有文件加注释和空格合在一起也才 2000 行左右,大部分逻辑都是 getter / setter

https://github.com/koajs/koa/blob/master/docs/api/index.md 文档的 md 文件,合在一起也才 1000 行左右。

核心依赖也就一个 https://github.com/koajs/compose 来实现 Middleware , 50 行代码。

不会吃力,我也是这么过来的,用点有规矩的框架对团队有好处

来自酷炫的 CNodeMD

egg有多进程模式,而且处理通讯也很方便,这是为什么我们公司把express和其他一些框架都换成egg的原因,不管大小应用,egg都适合,以前自学https和rexpress,然后看到egg,上去就是干,我是因为egg才学会了koa,原生koa可以自己拿来玩,但是写真正的应用,还是用egg,不管对开发还是拓展维护,egg都是超级友好的,原生koa要考虑和设计的东西太多,浪费时间,而且egg类似于渐进的,可以基于egg开发适合自己模式的架构,在公司好用得简直不要不要的。

没关系的,以前用过koa,很多东西得自己搭自己实现,写个简单的rest server还行,复杂的用起来费劲。egg.js相对完整,可以应付大多数项目。二者底层虽然有些联系,但是用起来完全不一样。直接用egg.js也没什么关系。

来自✨ Node.js开源项目精选

@chinahsj express源码我就看的睡着了不知道多少次,为什么会睡着:(

@chapgaga 因为才疏学浅,不是每个人都可以看懂源码,看什么源码都困,现在一直在读其他的片段源码,睡着的次数少了^_^!

@chinahsj 现在在读什么元代么呢:)

只要有一定的前后端开发经验,感觉还是比较容易在express、koa、egg中切换,而且它们相对来说文档健全!

@chapgaga https://github.com/chenshenhai/eggjs-note/ 我在看这本书,在阅读里面的源码片段

@hankewins 这些 仅限 是会用,但是并不知道怎么实现的,所以 要看源码

@chinahsj 如果仅限是项目使用或者说做技术选型,能够根据对应框架快速了解其原理以及如何使用,我想是够了的。但是如果你需要很深入了解,那最好还是看源码

看源码的时候,先写个最简单的例子然后打个断点,一步步看执行过程就行可以了。koa源码还是比较精简的

学习Koa要不了多久时间,如果会用Express,那就更快了,而且Koa相比Express可能还更容易一些。

学习Egg不需要一定先会Koa,在学习Egg的过程中,必不可少的要学习Koa,至少要去看Koa的API文档吧,相当于同时学习了。

koa 学习中,先学koa再学egg更好吧

回到顶部