渐进式 Express 源码教程,保证你能看懂 | 小白也能懂源码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunkuku
V2EX    Node.js

渐进式 Express 源码教程,保证你能看懂 | 小白也能懂源码

  •  
  •   sunkuku 2017-12-04 23:30:56 +08:00 5930 次点击
    这是一个创建于 2898 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个系列教程的目的是用一种渐进式的方式,帮助 Node/Javascript 工程师更快更容易得理解 Express 工作机制。 所谓的渐进式,就是从最简单的 web 服务器,一步一步添枝加叶,最后形成一个完整 Express 的过程。

    初衷

    接触 Express 已有两年多时间,也面试了很多 Node 工程师。我发现很多工程师会用 Express,但是不知道 Express 如何工作,稍微深入一点的面试问题就答不上来,例如:

    • 如何捕捉 next(err)传递的错误
    • 路由 function 内部的错误是在哪个环节捕捉的
    • 如何设置路由不敏感或严格路由

    说到底,是知其然,不知其所以然。而读源码,是解决这个问题的最好方法。 但是大家普遍面临一个源码阅读时间成本高的问题。而我想做的,是通过一种创新的方式,讲解 Express 工作原理和实现。

    我会从最基础的 http 模块开始,一步一步得实现一个 Express。这样做的好处

    • 从最简单的出发,基础小白也能看懂
    • 循序渐进,不会迷失在复杂的代码中
    • 非常清晰得知道每一段代码添加的缘由

    直接进入源码,我把它放在了 github,欢迎阅读,对讲的不好的地方,欢迎提出意见 点击查看教程

    12 条回复    2017-12-26 11:54:00 +08:00
    luxy
        1
    luxy  
       2017-12-04 23:33:28 +08:00 via Android
    支持一波
    Ruiming
        2
    Ruiming  
       2017-12-04 23:35:07 +08:00 via iPhone
    不错啊
    dangyuluo
        3
    dangyuluo  
       2017-12-04 23:38:58 +08:00
    支持,一直在使用,最近好好看下原理。
    sunkuku
        4
    sunkuku  
    OP
       2017-12-04 23:59:48 +08:00
    @luxy
    @Ruiming
    @dangyuluo
    谢谢支持
    sunkuku
        5
    sunkuku  
    OP
       2017-12-05 08:40:25 +08:00
    欢迎大家 Star
    Mcatt
        6
    Mcatt  
       2017-12-05 09:29:06 +08:00
    支持
    theqwang
        7
    theqwang  
       2017-12-05 09:43:19 +08:00
    好东西,赞!
    sunkuku
        8
    sunkuku  
    OP
       2017-12-05 12:57:46 +08:00
    @theqwang
    @Mcatt
    谢谢支持
    zhjie
        9
    zhjie  
       2017-12-05 16:11:26 +08:00
    老铁! star 一个,顺便问一下,nodejs 方面配合什么技术做后端开发,能指教 nodejs 的学习路径吗?
    sunkuku
        10
    sunkuku  
    OP
       2017-12-05 16:58:04 +08:00   1
    @zhjie 我们后端技术栈比较常规 Mysql(Sequelize),Mongodb(Mongoose), Redis(Ioredis), Zookeeper
    OrangeM21
        11
    OrangeM21  
       2017-12-05 17:15:18 +08:00
    谢谢 我好好写一遍
    strugglexiang
        12
    strugglexiang  
       2017-12-26 11:54:00 +08:00
    start 了一下,谢谢大佬
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5037 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 09:25 PVG 17:25 LAX 01:25 JFK 04:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86