原文:手寫Koa.js源碼

用Node.js寫一個web服務器,我前面已經寫過兩篇文章了: 第一篇是不使用任何框架也能搭建一個web服務器,主要是熟悉Node.js原生API的使用:使用Node.js原生API寫一個web服務器 第二篇文章是看了Express的基本用法,更主要的是看了下他的源碼:手寫Express.js源碼 Express的源碼還是比較復雜的,自帶了路由處理和靜態資源支持等等功能,功能比較全面。與之相比,本 ...

2020-11-09 11:22 2 390 推薦指數:

查看詳情

手寫@koa/router源碼

上一篇文章我們講了Koa的基本架構,可以看到Koa的基本架構只有中間件內核,並沒有其他功能,路由功能也沒有。要實現路由功能我們必須引入第三方中間件,本文要講的路由中間件是@koa/router,這個中間件是掛在Koa官方名下的,他跟另一個中間件koa-router名字很像。其實@koa ...

Mon Nov 16 22:15:00 CST 2020 0 467
手寫Express.js源碼

上一篇文章我們講了怎么用Node.js原生API來寫一個web服務器,雖然代碼比較丑,但是基本功能還是有的。但是一般我們不會直接用原生API來寫,而是借助框架來做,比如本文要講的Express。通過上一篇文章的鋪墊,我們可以猜測,Express其實也沒有什么黑魔法,也僅僅是原生API的封裝,主要 ...

Mon Nov 02 19:34:00 CST 2020 0 378
手寫koa-static源碼,深入理解靜態服務器原理

這篇文章繼續前面的Koa源碼系列,這個系列已經有兩篇文章了: 第一篇講解了Koa的核心架構和源碼手寫Koa.js源碼 第二篇講解了@koa/router的架構和源碼手寫@koa/router源碼 本文會接着講一個常用的中間件----koa-static,這個中間件是用來搭建 ...

Mon Dec 07 19:50:00 CST 2020 0 543
手寫Vuex源碼

Vuex原理解析 Vuex是基於Vue的響應式原理基礎,所以無法拿出來單獨使用,必須在Vue的基礎之上使用。 1.Vuex使用相關解析 main.js store.js 2.Vuex原理解析實現 首先我們要清楚 ...

Tue Jul 28 02:53:00 CST 2020 0 495
手寫Redux-Saga源碼

上一篇文章我們分析了Redux-Thunk的源碼,可以看到他的代碼非常簡單,只是讓dispatch可以處理函數類型的action,其作者也承認對於復雜場景,Redux-Thunk並不適用,還推薦了Redux-Saga來處理復雜副作用。本文要講的就是Redux-Saga,這個也是我在實際工作 ...

Mon Oct 19 23:20:00 CST 2020 0 434
3 手寫Java HashMap核心源碼

手寫Java HashMap核心源碼 上一章手寫LinkedList核心源碼,本章我們來手寫Java HashMap的核心源碼。 我們來先了解一下HashMap的原理。HashMap 字面意思 hash + map,map是映射的意思,HashMap就是用hash進行映射的意思。不明白?沒關系 ...

Wed Nov 28 16:52:00 CST 2018 5 994
6 手寫Java LinkedHashMap 核心源碼

概述 LinkedHashMap是Java中常用的數據結構之一,安卓中的LruCache緩存,底層使用的就是LinkedHashMap,LRU(Least Recently Used)算法,即最近最 ...

Tue Dec 18 16:57:00 CST 2018 4 375
讓我們純手寫一個js繼承吧

繼承在前端邏輯操作中是比較常見的,今天我們就從零開始一個js的繼承方式 在es5中繼承實質上是先創建子類的實例對象,然后再將父類的方法添加到this上Parent.call(this),在es6中則是先創建父類的實例對象this調用父類的super(),然后再用子類的構造函數修改 ...

Sun Feb 02 03:47:00 CST 2020 0 222
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM