commonjs

因爲愈來愈龐大的需求,js須要模塊化來管理業務邏輯,而因爲js並非模塊化編程語言,將函數簡單的放在一塊兒的方式雖然能夠當作模塊,可是會污染全局變量。node

commonjs是解決JavaScript模塊化需求的產物之一,node使用的也是commonjs的規範,它有幾個重要的環境變量用來實現模塊化的定義,輸出和引用編程

一、module:module指的是該模塊自己這個對象,它默認有一個export屬性緩存

二、exports:module.exports屬性表示的是模塊對外輸出的接口,其餘地方加載使用該模塊,使用讀取的就是moduld.exports變量。在node中,exports變量指向module.exports,能夠經過該變量讀取或者添加方法,如export.func = function(){}編程語言

三、require:require用於加載模塊,每一個模塊都帶有一個require方法,查找第三方模塊時,若是隻指定了名稱,則視爲從node_modules裏面加載,require方法在查找到路徑對應的模塊後,會將模塊的module.exports屬性return出來。模塊化

另外,在加載模塊時,node會緩存模塊,因此require方法在查找模塊時,會優先首先查找緩存模塊,若是沒有才建立一個。函數

require方法其實至關於引入並執行一個js文件,不過該文件最後會返回一個module.exports對對象。ui

相關文章
相關標籤/搜索