2

node源码学习笔记--第一篇(初心)

 3 years ago
source link: https://fengxu.ink/2019/08/21/node%E6%BA%90%E7%A0%81%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-%E7%AC%AC%E4%B8%80%E7%AF%87/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

node源码学习笔记--第一篇(初心)

发表于 2019-08-21

字数统计 751

|

阅读时长 3

从这一篇起要开始阅读node.js的源码了,node的源码在github上,直接clone即可,主要由JavaScript和C++编写。

为什么要写这个系列

不论是学习哪些开源的东西,源码学习永远是其中不可缺少的一部分,所有人都会告诉你一定要看源码。不过为什么要看源码,怎样去看源码,这些问题大家的答案就不同了,当然这些并不重要,我个人主要是出于一下几个原因吧。

  • 不同于大多数前端开发者,我接触JavaScript这门编程语言就是从node开始的,也就是说我学习node的时候还不会写前端,因此我对它很熟悉,这会让我对看不懂的地方也不会很排斥。
  • node是一个非常优秀的开源作品,源码里面能够学习到很多东西,有助于我获取更加有价值的东西。
  • 阅读node源码,能够把技术的使用和理解融汇贯通,我从来不希望把自己限制为某个领域的开发者,我希望的我的title是软件开发工程师,至少是web开发工程师,而不是前端开发工程师,Java、Golang、Node这些东西有精力都是值得去了解的,如果没有太多精力,我希望我能在node领域有相对深入的研究。

阅读源码要带着目的去读,而我的目的是要从源码中学习优秀的编码方式,因此至少在第一次阅读的时候,我不回去从node的启动流程整体去分析源码,更不会去自己编译一版node。这次阅读的重点是node源码中js编写的部分,首先从API相关源码入手,会涉及到一些架构相关源码,逐层深入零散的理解源码,最终输出的产物就是每一部分API源码实现技巧以及get到的相关知识,包括不限于网络、操作系统等。首次阅读结束后,整理一下node启动流程,阅读一下C++相关源码,本地编译出node环境进行更深入的学习。过程其实不会很短,希望有所收获。

一些其他事情

其实写这篇的时候我已经阅读了几个file了,和自己想象的还是有很大不同的,有些模块的操作基本不依赖C++端,但大部分都或多或少的有依赖,这会涉及到C++模块与JavaScript之间的链接和交互,这些部分我目前还不是很了解,需要随着阅读同时学习,这可能会使得进度变慢,但是对后续学习还是会有促进作用。开头会很难,希望能坚持下去。

下一篇是正式阅读的第一篇,就从最简单的模块path开始。

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK