V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunkuku
V2EX  ›  Node.js

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

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

    这个系列教程的目的是用一种渐进式的方式,帮助 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   ·   我们的愿景   ·   实用小工具   ·   2937 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 03:35 · PVG 11:35 · LAX 20:35 · JFK 23:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.