推薦 9 個 Node.js 學習、進階、Debugging 分析、實戰的重磅開源項目
1. node
Node.js 是一個開源,跨平臺的 JavaScript 運行時環境。它在瀏覽器外部執行 JavaScript 代碼。
有關使用 Node.js 的更多信息,請參見 Node.js網站。
https://github.com/nodejs/node
2. node-api-cn
Node.js API 中文文檔項目
https://github.com/nodejscn/node-api-cn
3. node-in-debugging
這是一個 Node.js 調試指南的項目,已經出書了。
里面講到當程序出現性能瓶頸時,如何結合代碼去推測可能出問題的地方,展現程序的性能瓶頸的方法。
比如用 perf、火焰圖、紅藍差分火焰圖 去分析和定位問題。
perf:
火焰圖:
紅藍差分火焰圖 :
https://github.com/nswbmw/node-in-debugging
4. nodebestpractices
Node.js 最佳實踐
-
這是對Node.js最佳實踐中排名最高的內容的總結和分享
-
這里是最大的匯集,且每周都在增長。 當前,超過 50 個最佳實現,樣式指南,架構建議已經呈現。每天都有新的 issue 和 PR 被創建,以使這本在線書籍不斷更新。
-
大部分的條目包含額外的信息。大部分的最佳實踐條目的旁邊,您將發現鏈接,它將呈現給您示例代碼,博客引用和更多信息
目錄
-
項目結構實踐 (5)
-
異常處理實踐 (11)
-
編碼規范實踐 (12)
-
測試和總體質量實踐 (8)
-
進入生產實踐 (16)
-
:star: 新: 安全實踐(23)
-
Performance Practices (coming soon)
https://github.com/goldbergyoni/nodebestpractices
5. deep-into-node
這個項目是關于:深入理解 Node.js:核心思想與源碼分析。
源碼分析包括(libuv, v8), 需要有一定的 C、C++基礎。Node.js 的源碼到處閃爍著開發者的智慧和追求極致的精神。包括但不限于:
-
系統架構
-
設計模式
-
性能優化
-
奇技淫巧
本書通過分析 node 核心模塊的實現,向讀者闡述 node 異步 IO,事件循環的核心思想。幫助開發者更好的使用 Node.js。
通過追溯 node 社區開發issue, 探討 node 的變遷和演進,學習 node.js 的設計哲學。
https://github.com/yjhjstz/deep-into-node
6. Nodejs-Roadmap
這個項目是作者從事 Node.js 開發以來的學習歷程,旨在為大家提供一個較詳細的學習教程,側重點更傾向于 Node.js 服務端所涉及的技術棧,如果本文能為您得到幫助,請給予支持!
Node.js 由 Libuv、Chrome V8、一些核心 API 構成,如下圖所示:
以上展示了 Node.js 的構成,下面做下簡單說明:
-
Node Standard Library:Node.js 標準庫,對外提供的 JavaScript 接口,例如模塊 http、buffer、fs、stream 等
-
Node bindings:這里就是 JavaScript 與 C++ 連接的橋梁,對下層模塊進行封裝,向上層提供基礎的 API 接口。
-
V8:Google 開源的高性能 JavaScript 引擎,使用 C++ 開發,并且應用于谷歌瀏覽器。如果您感興趣想學習更多的 V8 引擎知識,請訪問 What is V8?
-
Libuv:是一個跨平臺的支持事件驅動的 I/O 庫。它是使用 C 和 C++ 語言為 Node.js 所開發的,同時也是 I/O 操作的核心部分,例如讀取文件和 OS 交互。來自一份 Libuv 的中文教程
-
C-ares:C-ares 是一個異步 DNS 解析庫
-
Low-Level Components:提供了 http 解析、OpenSSL、數據壓縮(zlib)等功能。
以上只是做一個初步的認知,如果你想深入了解 Node.js 那么多每個點都是值得你深入研究的。
無論是內容還是閱讀效果,都很好,是值得推薦的一個學習 Node 的開源項目。
https://github.com/qufei1993/Nodejs-Roadmap
7. NeteaseCloudMusicApi
功能特性
總共有 206 個 api !
比如:
登錄
刷新登錄
發送驗證碼
校驗驗證碼
注冊(修改密碼)
獲取用戶信息 , 歌單,收藏,mv, dj 數量
獲取用戶歌單
獲取用戶電臺
獲取用戶關注列表
獲取用戶粉絲列表
獲取用戶動態
獲取用戶播放記錄
獲取精品歌單
獲取歌單詳情
搜索
搜索建議
獲取歌詞
歌曲評論
收藏單曲到歌單
專輯評論
歌單評論
mv 評論
電臺節目評論
banner
獲取歌曲詳情
獲取專輯內容
獲取歌手單曲
獲取歌手 mv
獲取歌手專輯
獲取歌手描述
獲取相似歌手
獲取相似歌單
相似 mv
獲取相似音樂
獲取最近 5 個聽了這首歌的用戶
獲取每日推薦歌單
獲取每日推薦歌曲
私人 FM
簽到
喜歡音樂
等等。。。
如果你想做一個 音樂 類的開源項目,可以好好看看這個項目哦。
https://github.com/Binaryify/NeteaseCloudMusicApi
8. node-elm
這是基于 node.js + Mongodb 構建的后臺系統。
整個項目分為兩部分:前臺項目接口、后臺管理接口,共 60 多個。涉及登陸、注冊、添加商品、商品展示、篩選排序、購物車、下單、用戶中心等,構成一個完整的流程。
目標功能
IP定位 -- 完成
城市列表 -- 完成
搜索地址 -- 完成
上傳圖片 -- 完成
添加商鋪 -- 完成
添加食品 -- 完成
測量距離 -- 完成
搜索美食,餐館 -- 完成
根據距離、銷量、評分、特色菜、配送方式等進行排序和篩選 -- 完成
評價列表 -- 完成
食品詳情 -- 完成
商家詳情 -- 完成
購物車功能 -- 完成
登錄、注冊 -- 完成
修改密碼 -- 完成
用戶信息 -- 完成
添加、刪除、修改收貨地址 -- 完成
下單 -- 完成 :sparkles::sparkles:
訂單信息 -- 完成
紅包 -- 完成
商鋪管理 -- 完成
食品管理 -- 完成
管理員權限驗證 -- 完成
超級管理員 -- 完成
訂單管理 -- 完成
流量統計 -- 完成
前后臺路由同構 -- 完成
部署上線 -- 完成
https://github.com/bailicangdu/node-elm
9. awesome-nodejs
內容目錄
官方的
配套
瘋狂科學
命令行應用
功能編程
HTTP
調試/分析
記錄中
命令行實用程序
構建工具
硬件
模板化
Web框架
文獻資料
文件系統
控制流
溪流
即時的
圖像
文本
數字
數學
日期
網址
資料驗證
解析中
人性化
壓縮
網絡
數據庫
測驗
安全
標桿管理
縮小器
驗證
授權
電子郵件
作業隊列
Node.js管理
自然語言處理
流程管理
自動化
AST
靜態網站生成器
內容管理系統
論壇
寫博客
奇怪的
序列化
各種各樣的
資源
講解
發現
文章
時事通訊
影片
圖書
網志
課程
備忘單
工具
社區
各種各樣的
相關清單
https://github.com/sindresorhus/awesome-nodejs
最后
好了,Node.js 學習的好開源項目,目前發現的就是上面那些了。