package.json 中包含各種所需模塊以及項目的配置信息(名稱、版本、許可證等)meta 信息。 Name:它屬於必須欄位,在package.json中最重要的就是name和version欄位,如果沒有就無法install。name和version一起組成的標識在假設中是唯一的。改變包應該同時 ...
package.json 中包含各種所需模塊以及項目的配置信息(名稱、版本、許可證等)meta 信息。
Name:它屬於必須欄位,在package.json中最重要的就是name和version欄位,如果沒有就無法install。name和version一起組成的標識在假設中是唯一的。改變包應該同時改變version。使用時,應註意以下三點:
1.不要在name中包含js, node字樣;
2.這個名字最終會是URL的一部分,命令行的參數,目錄名,所以不能以點號或下劃線開頭;
3.這個名字可能在require()方法中被調用,所以應該儘可能短;
Version:同上,屬於必須欄位;
Description:可選欄位,它必須是字元串,幫助我們瞭解創建的包;
Keywords:可選欄位,可以是字元串數組,比如"javascript, nodejs"
homepage:可選欄位,項目官網的url。註意:這和“url”不一樣。如果你放一個“url”欄位,registry會以為是一個跳轉到你發佈在其他地方的地址。
Bugs:可選欄位,問題追蹤系統的URL或郵箱地址;npm bugs用的上。
license:指定一個許可證,讓人知道使用的權利和限制的。
main:main欄位配置一個文件名指向模塊的入口程式。如果你包的名字叫foo,然後用戶require("foo"),main配置的模塊的exports對象會被返回。
scripts:“scripts”是一個由腳本命令組成的hash對象,他們在包不同的生命周期中被執行。key是生命周期事件,value是要運行的命令。
Config:可選對象,為一個obj,Config對象中的值在Scripts的整個周期中皆可用,專門用於給Scripts提供配置參數。
Repository:指定你的代碼存放的地方。
Dependencies:指示當前包所依賴的其他包,版本格式可以是下麵任一種:
-
version
完全匹配 -
>version
大於這個版本 -
>=version
大於或等於這個版本 -
<version
-
<=version
-
~version
非常接近這個版本 -
^version
與當前版本相容
devDependencies:可選欄位。如果只需要下載使用某些模塊,而不下載這些模塊的測試和文檔框架,放在這個下麵比較不錯。
Private:可選欄位,布爾值。如果private為true,npm會拒絕發佈。這可以防止私有repositories不小心被髮布出去。