All Projects → sunkuo → Grow To Express

sunkuo / Grow To Express

渐进式Express学习课程,从零开始实现一个Express

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Grow To Express

expross
Expross is a lightweight webserver to introduce JavaScript developers familiar with Express to Python.
Stars: ✭ 27 (-92.31%)
Mutual labels:  expressjs
Rest Api Tutorial
This is a sample source code for the article published on Toptal: https://www.toptal.com/nodejs/secure-rest-api-in-nodejs
Stars: ✭ 288 (-17.95%)
Mutual labels:  expressjs
Vue Nodejs Youtube Clone
This is the frontend (VueJS) of the Youtube clone called VueTube.
Stars: ✭ 314 (-10.54%)
Mutual labels:  expressjs
http-event-stream
📡 Modern spec-compliant Server Sent Events stream implementation.
Stars: ✭ 16 (-95.44%)
Mutual labels:  expressjs
Lumie
✨ An opinionated way to keep your express API organized
Stars: ✭ 277 (-21.08%)
Mutual labels:  expressjs
Generator Express No Stress Typescript
🚄 A Yeoman generator for Express.js based 12-factor apps and apis using Typescript
Stars: ✭ 297 (-15.38%)
Mutual labels:  expressjs
SEO-Dashboard
SEO dashboard from Search console Data using the Google Search API, Mysql database , NodeJS RESTAPI( ExpressJS) and reactJs Dashboard
Stars: ✭ 39 (-88.89%)
Mutual labels:  expressjs
Reactexplain
React源码解析
Stars: ✭ 317 (-9.69%)
Mutual labels:  source-code
Mevn Boilerplate
A fullstack boilerplate with Mongo, ExpressJS, VueJS and NodeJS.
Stars: ✭ 277 (-21.08%)
Mutual labels:  expressjs
Raptor
Web-based Source Code Vulnerability Scanner
Stars: ✭ 314 (-10.54%)
Mutual labels:  source-code
nodearch
Node.js Backend Framework.
Stars: ✭ 14 (-96.01%)
Mutual labels:  expressjs
Base
Base environment for Red Eclipse and associated source files.
Stars: ✭ 273 (-22.22%)
Mutual labels:  source-code
Metaphysics
Artsy's GraphQL API
Stars: ✭ 305 (-13.11%)
Mutual labels:  expressjs
express-typescript-template-generator
Base express.js template with TypeScript and best practices ready for start to coding
Stars: ✭ 30 (-91.45%)
Mutual labels:  expressjs
Webpack Hot Server Middleware
🔥 Hot reload webpack bundles on the server
Stars: ✭ 319 (-9.12%)
Mutual labels:  expressjs
edgestack
[UNMAINTAINED] A Universal React Stack with deeply integrated localization Support, semi-automatic route-based code splitting, Hot Module Reloading (HMR), Redux, Apollo GraphQL and more...
Stars: ✭ 77 (-78.06%)
Mutual labels:  expressjs
Mern Social
A MERN stack based social media application [Full-Stack React Projects]
Stars: ✭ 288 (-17.95%)
Mutual labels:  expressjs
Quartz Explained
对定时任务调度框架quartz源码的阅读和注释(comments on quartz-core source)
Stars: ✭ 336 (-4.27%)
Mutual labels:  source-code
Next Shopify Storefront
🛍 A real-world Shopping Cart built with TypeScript, NextJS, React, Redux, Apollo Client, Shopify Storefront GraphQL API, ... and Material UI.
Stars: ✭ 317 (-9.69%)
Mutual labels:  expressjs
Express Status Monitor
🚀 Realtime Monitoring solution for Node.js/Express.js apps, inspired by status.github.com, sponsored by https://dynobase.dev
Stars: ✭ 3,302 (+840.74%)
Mutual labels:  expressjs

渐进式Express源码学习| 小白也能懂源码

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

缘起

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

  • 严格路由和不严格路由有什么区别
  • 如何设置路由不敏感或严格路由
  • 什么是lazy router以及为什么要lazy router
  • trust proxy什么用
  • Etag weak 和strong有什么区别
  • app.all和app.use的区别及性能差异
  • 如何捕捉next(err)传递的错误
  • 路由function内部的错误是在哪个环节捕捉的

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

如何讲解

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

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

文章组织

会分成系列文章讲解,每个文章都基于上一个文章实现一个加强版的Web框架。每个文章会给出框架源码、框架说明,框架使用样例。话不多少,开始第一个Web框架的实现吧!

文章目录

  1. 渐进式Express源码学习1.万物归宗
  2. 渐进式Express源码学习2.道士下山
  3. 渐进式Express源码学习3.初露锋芒
  4. 渐进式Express源码学习4.如虎添翼
  5. 渐进式Express源码学习5.全副武装
  6. 渐进式Express源码学习6.独孤求败
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].