sunkuku
V2EX  ›  Node.js

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

  •  
  •   sunkuku · Dec 4, 2017 · 6264 views
    This topic created in 3099 days ago, the information mentioned may be changed or developed.

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

    初衷

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

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

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

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

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

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

    12 replies    2017-12-26 11:54:00 +08:00
    luxy
        1
    luxy  
       Dec 4, 2017 via Android
    支持一波👍
    Ruiming
        2
    Ruiming  
       Dec 4, 2017 via iPhone
    不错啊
    dangyuluo
        3
    dangyuluo  
       Dec 4, 2017
    支持,一直在使用,最近好好看下原理。
    sunkuku
        4
    sunkuku  
    OP
       Dec 4, 2017
    @luxy
    @Ruiming
    @dangyuluo
    谢谢支持
    sunkuku
        5
    sunkuku  
    OP
       Dec 5, 2017
    欢迎大家 Star
    Mcatt
        6
    Mcatt  
       Dec 5, 2017
    支持
    theqwang
        7
    theqwang  
       Dec 5, 2017
    好东西,赞!
    sunkuku
        8
    sunkuku  
    OP
       Dec 5, 2017
    @theqwang
    @Mcatt
    谢谢支持
    zhjie
        9
    zhjie  
       Dec 5, 2017
    老铁! star 一个,顺便问一下,nodejs 方面配合什么技术做后端开发,能指教 nodejs 的学习路径吗?
    sunkuku
        10
    sunkuku  
    OP
       Dec 5, 2017   ❤️ 1
    @zhjie 我们后端技术栈比较常规 Mysql(Sequelize),Mongodb(Mongoose), Redis(Ioredis), Zookeeper
    OrangeM21
        11
    OrangeM21  
       Dec 5, 2017
    谢谢 我好好写一遍
    strugglexiang
        12
    strugglexiang  
       Dec 26, 2017
    start 了一下,谢谢大佬
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2913 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 03:32 · PVG 11:32 · LAX 20:32 · JFK 23:32
    ♥ Do have faith in what you're doing.