node.js 的 package 其實就是個資料夾,裡面包覆各式各樣的檔案,他主要是以 commonJS來實現 node.js 的 package 的機制,所以說...,一個package底下的檔案,也要符合(如果可以當然是嚴格遵守) commonJs。
比方我的 package 叫做 you_package_folder,這是一個資料夾
一個 package 的目錄如果要符合commonJS(點選連結搜尋'Package Directory Layout')的規則的話,應該要有以下的檔案目錄或是檔案。
簡單說明一下這個目錄
參考:
http://wiki.commonjs.org/wiki/Packages/1.1
http://wiki.commonjs.org/wiki/Packages-Background
比方我的 package 叫做 you_package_folder,這是一個資料夾
一個 package 的目錄如果要符合commonJS(點選連結搜尋'Package Directory Layout')的規則的話,應該要有以下的檔案目錄或是檔案。
簡單說明一下這個目錄
- package.json 是必要項目,身為一個package,不能沒有這個檔案,至於這個json檔案裏頭是什麼,格式就是json,以下介紹一些key :
- main (必要):
main的值就是當這個package被require的時候,甚麼檔案會被load進來,路徑通常是寫相對路徑。 - name:
這個package的名子,這個值是唯一值,他可以是英文小寫或者有. 或者有 '-' 或者有 '_',就是不能有空白。
以我這個例子來說,name就會是這樣
{
"name": "Your_package_folder",
} - version :
版本號,格式是字串,而且要符合 Semantic Versioning 的規範。 - maintainers :
這個package的maintainer的資料,格式如下:
每位maintainer的資料是一組hash(雜湊),有三種key,name(必填), email跟web是optional.,寫起來的範例如下:
"maintainers" : [ {
"name": "Win Wu",
"email": "yiyingwu.1990[at]gmail.com",
" web": "http://yiyingloveart.blogspot.com",
} ] - description : 可以放一段針對你的package的描述
- licenses : 授權方式,每一組licenses是個hash,有type(licenses的名稱)跟url(licenses的url)兩個key。
範例:
"licenses": [
{
"type": "GPLv2",
"url": "http://demo_url/licenses/gpl.html",
}
] - bugs : 值可以是email或是網址,提供一個給他人提交bug的位子
- ....還有很多,請參考commonJS的wiki
- doc資料夾,用來放一些文件
- test資料夾,用來放一些unit test的檔案
- bin資料夾,二進位的檔案必須放在這個資料夾
- lib資料夾,用來放javascript的檔案
參考:
http://wiki.commonjs.org/wiki/Packages/1.1
http://wiki.commonjs.org/wiki/Packages-Background
沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD