原文:深入出不来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