在node.js中匪补,可以通過包來對一組具有相互依賴關(guān)系的模塊進(jìn)行統(tǒng)一管理。通過包的使用仿耽,我們可以將某個獨立的功能封裝起來
在node.js中色徘,一個包事實上是一個目錄,其中包含用于對包進(jìn)行描述的json格式的package.json文件坟瓢。一個包中勇边,通常包含如下所示的一些內(nèi)容
- 在包的跟目中存放package.json文件
- 在bin子目錄中存放二進(jìn)制文件
- 在lib子目錄存放JavaScript文件
- 在doc子目錄存放對包或包的使用方法進(jìn)行說明的文檔文件
- 在test子目錄中存放一些對包進(jìn)行單元測試用的文件
在一個package.json文件中,一個package.json文件中通常應(yīng)用包含的字段及其作用如下所示
- name, 包名折联。唯一的粒褒,由小寫字母、數(shù)字和下劃線組成诚镰,包名不能為空
- preferglobal奕坟,是否支持全局安裝祥款。字段值為true使支持全局,字段值為false時不支持
- description月杉,包說明刃跛。對包進(jìn)項簡要描述
- version,版本號
- author苛萎,作者信息桨昙。每個數(shù)組元素中可包含name,email腌歉,web字段
- maintainers蛙酪,包維護(hù)者信息數(shù)組。每個數(shù)組元素可包含name翘盖,email桂塞,web。
- bugs馍驯,bug的提交地址阁危,可以是網(wǎng)址或電子郵件
- licenses,許可證數(shù)組泥彤。每個元素要包含type(許可證名稱)和url(鏈接到許可證書文本地址)字段欲芹。
- repository,倉庫托管地址數(shù)組吟吝。每個元素要包含type(倉庫的類型菱父,如git)、url(倉庫地址)剑逃、path(相對于倉庫的路徑浙宜,可選)字段
- keywords。關(guān)鍵字?jǐn)?shù)組蛹磺,通常用于搜索
- dependencies, 本包所依賴的包粟瞬。是一個關(guān)聯(lián)數(shù)組,由包名和版本號組成