今天讀一讀七天學會NodeJS


七天學會NODEJS

NodeJS基礎

小結

本章介紹了有關NodeJS的基本概念和使用方法,總結起來有以下知識點:

  • NodeJS是一個JS腳本解析器,任何操作系統下安裝NodeJS本質上做的事情都是把NodeJS執行程序復制到一個目錄,然后保證這個目錄在系統PATH環境變量下,以便終端下可以使用node命令。

  • 終端下直接輸入node命令可進入命令交互模式,很適合用來測試一些JS代碼片段,比如正則表達式。

  • NodeJS使用CMD模塊系統,主模塊作為程序入口點,所有模塊在執行過程中只初始化一次。

  • 除非JS模塊不能滿足需求,否則不要輕易使用二進制模塊,否則你的用戶會叫苦連天。 


 

代碼的組織和部署

小結

本章介紹了使用NodeJS編寫代碼前需要做的准備工作,總結起來有以下幾點:

  • 編寫代碼前先規划好目錄結構,才能做到有條不紊。

  • 稍大些的程序可以將代碼拆分為多個模塊管理,更大些的程序可以使用包來組織模塊。

  • 合理使用node_modulesNODE_PATH來解耦包的使用方式和物理路徑。

  • 使用NPM加入NodeJS生態圈互通有無。

  • 想到了心儀的包名時請提前在NPM上搶注。


 

文件操作

小結

本章介紹了使用NodeJS操作文件時需要的API以及一些技巧,總結起來有以下幾點:

  • 學好文件操作,編寫各種程序都不怕。

  • 如果不是很在意性能,fs模塊的同步API能讓生活更加美好。

  • 需要對文件讀寫做到字節級別的精細控制時,請使用fs模塊的文件底層操作API。

  • 不要使用拼接字符串的方式來處理路徑,使用path模塊。

  • 掌握好目錄遍歷和文件編碼處理技巧,很實用。


 

網絡操作

小結

本章介紹了使用NodeJS操作網絡時需要的API以及一些坑回避技巧,總結起來有以下幾點:

  • httphttps模塊支持服務端模式和客戶端模式兩種使用方式。

  • requestresponse對象除了用於讀寫頭數據外,都可以當作數據流來操作。

  • url.parse方法加上request.url屬性是處理HTTP請求時的固定搭配。

  • 使用zlib模塊可以減少使用HTTP協議時的數據傳輸量。

  • 通過net模塊的Socket服務器與客戶端可對HTTP協議做底層操作。

  • 小心踩坑。


 

進程管理

小結

本章介紹了使用NodeJS管理進程時需要的API以及主要的應用場景,總結起來有以下幾點:

  • 使用process對象管理自身。

  • 使用child_process模塊創建和管理子進程。


 

異步編程

小結

本章介紹了JS異步編程相關的知識,總結起來有以下幾點:

  • 不掌握異步編程就不算學會NodeJS。

  • 異步編程依托於回調來實現,而使用回調不一定就是異步編程。

  • 異步編程下的函數間數據傳遞、數組遍歷和異常處理與同步編程有很大差別。

  • 使用domain模塊簡化異步代碼的異常處理,並小心陷阱。


 

大示例

小結

本章將之前零散介紹的知識點串了起來,完整地演示了一個使用NodeJS開發程序的例子,至此我們的課程就全部結束了。以下是對新誕生的NodeJSer的一些建議。

  • 要熟悉官方API文檔。並不是說要熟悉到能記住每個API的名稱和用法,而是要熟悉NodeJS提供了哪些功能,一旦需要時知道查詢API文檔的哪塊地方。

  • 要先設計再實現。在開發一個程序前首先要有一個全局的設計,不一定要很周全,但要足夠能寫出一些代碼。

  • 要實現后再設計。在寫了一些代碼,有了一些具體的東西后,一定會發現一些之前忽略掉的細節。這時再反過來改進之前的設計,為第二輪迭代做准備。

  • 要充分利用三方包。NodeJS有一個龐大的生態圈,在寫代碼之前先看看有沒有現成的三方包能節省不少時間。

  • 不要迷信三方包。任何事情做過頭了就不好了,三方包也是一樣。三方包是一個黑盒,每多使用一個三方包,就為程序增加了一份潛在風險。並且三方包很難恰好只提供程序需要的功能,每多使用一個三方包,就讓程序更加臃腫一些。因此在決定使用某個三方包之前,最好三思而后行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM