原文:深入出不來nodejs源碼-從fs.stat方法來看node架構

node的源碼分析還挺多的,不過像我這樣愣頭完全平鋪源碼做解析的貌似還沒有,所以開個先例,從一個API來了解node的調用鏈。 首先上一張整體的圖,網上翻到的,自己懶得畫: 這里的層次結構十分的清晰,從上到下如果翻譯成語言層面,依次是JS C windows UNIX 的系統API。 最高層也就是我們自己寫的JS代碼,node會首先通過V 引擎進行編譯解析成C ,隨后將其分發給libuv,lib ...

2018-07-31 17:33 2 1542 推薦指數:

查看詳情

深入出不來nodejs源碼-events模塊

  這一節內容超級簡單,純JS,就當給自己放個假了,V8引擎和node的C++代碼看得有點腦闊疼。   學過DOM的應該都知道一個API,叫addeventlistener,即事件綁定。這個東西貫穿了整個JS的學習過程,無論是剛開始的自己獲取DOM手動綁,還是后期vue的直接@click,所有 ...

Wed Aug 08 18:46:00 CST 2018 0 799
深入出不來nodejs源碼-編譯啟動

  整整弄了兩天,踩了無數的坑,各種奇怪的error,最后終於編譯成功了。   網上的教程基本上都過時了,或者是版本不對,都會報一些奇怪的錯誤,這里總結一下目前可行的流程。   node版本:v10.1.0。   首先需要一些准備工作: 1、Visual Studio 2017 傳送門 ...

Fri May 18 21:12:00 CST 2018 3 2126
深入出不來nodejs源碼-流程總覽

  花了差不多兩周時間過了下primer C++5th,完成了《C++從入門到精通》。(手動滑稽)   這兩天看了下node源碼的一些入口方法,其實還是比較懵逼的,語法倒不是難點,主要是大量的宏造成直接閱讀上的不方便。   有些宏感覺真是一點鳥用都沒有,比如說:   這玩意 ...

Wed Jun 13 20:32:00 CST 2018 0 3440
深入出不來nodejs源碼-內置模塊引入再探

  我發現每次細看源碼都能發現我之前寫的一些東西是錯誤的,去改掉吧,又很不協調,不改吧,看着又腦闊疼……   所以,這一節再探,是對之前一些說法的糾正,另外再縫縫補補一些新的內容。   錯誤在哪呢?在之前的初探中,有這么一塊代碼:   當時,我的理解是這樣的: 輔助 ...

Mon Jul 02 22:52:00 CST 2018 0 942
深入出不來nodejs源碼-內置模塊引入初探

  重新審視了一下上一篇的內容,配合源碼發現有些地方說的不太對,或者不太嚴謹。   主要是關於內置模塊引入的問題,當時我是這樣描述的: 需要關注的只要那個RegisterBuiltinModules方法,從名字也可以看出來,就是加載內置模塊。   然而並不是啊……從名字可以看出來 ...

Thu Jun 14 22:33:00 CST 2018 4 2629
深入出不來nodejs源碼-timer模塊(JS篇)

  鴿了好久,最近沉迷游戲,繼續寫點什么吧,也不知道有沒有人看。   其實這個node源碼也不知道該怎么寫了,很多模塊涉及的東西比較深,JS和C++兩頭看,中間被工作耽擱回來就一臉懵逼了,所以還是挑一些簡單的吧!      這一篇選的是定時器模塊,簡單講就是初學者都非常熟 ...

Fri Oct 12 23:04:00 CST 2018 4 992
深入出不來nodejs源碼-V8引擎初探

  原本打算是把node源碼看得差不多了再去深入V8的,但是這兩者基本上沒辦法分開講。   與express是基於node的封裝不同,node是基於V8的一個應用,源碼內容已經滲透到V8層面,因此這章簡述一下我目前理解的V8引擎吧。   首先需要理解的是V8是一個JS代碼運行平台,可以將JS ...

Wed Jun 27 20:42:00 CST 2018 0 3679
[Nodejs] nodefs模塊

fs 模塊 Node.js 提供一組類似 UNIX(POSIX)標准的文件操作 API。 Node 導入文件系統模塊(fs)。Node.js 文件系統(fs 模塊)模塊中的方法均有異步和同步版本,例如讀取文件內容的函數有異步的 fs.readFile() 和同步的 fs ...

Wed Mar 20 00:51:00 CST 2019 0 1448
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM