摘要:由于這種特性,某一個任務的后續操作,往往采用回調函數的形式進行定義。另外,回調函數本身的第一個參數,約定為上一步傳入的錯誤對象。這種寫法有一個很大的好處,就是說只要判斷回調函數的第一個參數,就知道有沒有出錯,如果不是,就肯定出錯了。
REPL環境
在命令行鍵入node命令,后面沒有文件名,就進入一個Node.js的REPL環境(Read–eval–print loop,”讀取-求值-輸出”循環),可以直接運行各種JavaScript命令。
REPL是Node.js與用戶互動的shell,各種基本的shell功能都可以在里面使用,比如使用上下方向鍵遍歷曾經使用過的命令。
異步操作Node采用V8引擎處理JavaScript腳本,最大特點就是單線程運行,一次只能運行一個任務。這導致Node大量采用異步操作(asynchronous opertion),即任務不是馬上執行,而是插在任務隊列的尾部,等到前面的任務運行完后再執行。
由于這種特性,某一個任務的后續操作,往往采用回調函數(callback)的形式進行定義。
Node約定,如果某個函數需要回調函數作為參數,則回調函數是最后一個參數。另外,回調函數本身的第一個參數,約定為上一步傳入的錯誤對象。
這是因為回調函數主要用于異步操作,當回調函數運行時,前期的操作早結束了,錯誤的執行棧早就不存在了,傳統的錯誤捕捉機制try…catch對于異步操作行不通,所以只能把錯誤交給回調函數處理。
如果沒有發生錯誤,回調函數的第一個參數就傳入null。這種寫法有一個很大的好處,就是說只要判斷回調函數的第一個參數,就知道有沒有出錯,如果不是null,就肯定出錯了。另外,這樣還可以層層傳遞錯誤。
全局變量Node提供兩個全局變量,都以兩個下劃線開頭。
__filename:指向當前運行的腳本文件名。
__dirname:指向當前運行的腳本所在的目錄。
核心模塊http:提供HTTP服務器功能。
url:解析URL。
fs:與文件系統交互。
querystring:解析URL的查詢字符串。
child_process:新建子進程。
util:提供一系列實用小工具。
path:處理文件路徑。
crypto:提供加密和解密功能,基本上是對OpenSSL的包裝。
核心模塊總是最優先加載的。如果你自己寫了一個HTTP模塊,require("http")加載的還是核心模塊
所有代碼都運行在模塊作用域,不會污染全局作用域。
模塊可以多次加載,但是只會在第一次加載時運行一次,然后運行結果就被緩存了,以后再加載,就直接讀取緩存結果。要想讓模塊再次運行,必須清除緩存。
模塊加載的順序,按照其在代碼中出現的順序。
require方法有一個main屬性,可以用來判斷模塊是直接執行,還是被調用執行。
直接執行的時候(node module.js),require.main屬性指向模塊本身。
require.main === module // true
調用執行的時候(通過require加載該腳本執行),上面的表達式返回false。
npm update注意,從npm v2.6.1 開始,npm update只更新頂層模塊,而不更新依賴的依賴,以前版本是遞歸更新的。如果想取到老版本的效果,要使用下面的命令。
$ npm --depth 9999 update
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91045.html
摘要:的網站仍然使用有漏洞庫上周發布了開源社區安全現狀報告,發現隨著開源社區的日漸活躍,開源代碼中包含的安全漏洞以及影響的范圍也在不斷擴大。與應用安全是流行的服務端框架,本文即是介紹如何使用以及其他的框架來增強應用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清單專注...
摘要:特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 本以為自己收藏的站點多,可以很快搞定,沒想到一入匯總深似海。還有很多不足&遺漏的地方,歡迎補充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應和斧正,會及時更新,平時業務工作時也會不定期更...
閱讀 2280·2019-08-30 15:56
閱讀 3115·2019-08-30 13:48
閱讀 1128·2019-08-30 10:52
閱讀 1497·2019-08-29 17:30
閱讀 426·2019-08-29 13:44
閱讀 3548·2019-08-29 12:53
閱讀 1117·2019-08-29 11:05
閱讀 2671·2019-08-26 13:24