模塊和包

模塊和包:
模塊和包是Node.js最重要的支柱,開發一個具備必定規模的程序不可能只用一個文件,一般須要把各個功能拆分,封裝,而後
組合起來,模塊正是爲了實現這種方式而誕生的,Node.js提供了require函數來調用其餘模塊並且模塊都是基於文件的,機制十
分簡單json

模塊是Node.js應用程序的基本組成部分,文件和模塊是一一對應的,Node.js提供了exports和require兩個對象,其中exports
是模塊公開的接口,require用於從外部獲取一個公開的接口,即所獲取模塊的exports對象
閉包

 

//hello1和helo2指向的是同一個實例,所以hello1.setName的結果被hello2.setName覆蓋,最終輸出結果是由後者決定的函數

 

// exports.Hello = Hello;
module.exports = Hello;
//在外部引用該模塊時,其接口對象就是要輸出的Hello對象自己,而不是原先的exports
//事實上,exports自己僅僅是一個普通的空對象,即{},它專門用來聲明接口,本質上是經過它爲模塊閉包的內部創建
//一個有限的訪問接口,由於它沒有任何特殊的地方,因此能夠用其餘東西來代替單元測試


/*
包是在模塊基礎上更深一步的抽象,他將某些獨立的功能封裝起來,用於發佈、更新、依賴管理和版本控制
Node.js是一個目錄,其中包含一個JSON格式的包說明文件package.json,嚴格符合CommonJS規範的包,應該具有如下特徵:
package.json必須在包的頂層目錄下
二進制文件應該再bin目錄下
JavaScript代碼應該在lib目錄下
文檔應該再doc目錄下
單元測試應該在test目錄下
*/測試

/*
最簡單的包,就是一個做爲文件夾的模塊ui

包一般是一些模塊的集合,在模塊的基礎上提供了更高層的抽象,至關於提供了一些固定接口的函數庫,
經過定製package.json,咱們能夠建立更復雜、更完善、更符合規範的包用於發佈


版本控制


*/對象

相關文章
相關標籤/搜索