在編譯Node.js的源碼是,看到Node.js依賴的包包括
cares【c-ares】
c-ares is a C library for asynchronous DNS requests (including name resolves)
C89 compatibility, MIT licensed, builds for and runs on POSIX, Windows, Netware, Android and many more operating systems.
http_parser【C語言編寫的http解析器】
This is a parser for HTTP messages written in C,只有3個文件,一個測試c
npm
作爲node.js的模塊管理工具,可以等同如同 RubyGems 對於 Ruby 開發者和 Maven 對於 Java 開發者的重要性
可以參考
http://www.infoq.com/cn/articles/msh-using-npm-manage-node.js-dependence
openssl
爲網絡通信提供安全及數據完整性的一種安全協議,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協議,
並提供了豐富的應用程序供測試或其它目的使用
uv
libuv is a new platform layer for Node. Its purpose is to abstract IOCP on Windows and epoll/kqueue/event ports/etc. on Unix systems. We intend to
eventually contain all platform differences in this library
作爲Node的平臺層,抽象IOCP和epoll/kqueue/event ports,在該庫中抽象不同操作系統的特性;Nginx所依賴的就是epoll/kqueue
v8 ----V8 Javascipt引擎
zlib
zlib是提供數據壓縮用的函式庫,僅支持一個LZ77的變種算法,DEFLATE的算法
從Node.js所依賴的包可以看出,node.js的成功也是建立在開源庫的基礎之上,站在巨人的肩膀上,才能夠看的更遠,的確如此;
任重致遠,繼續努力