描述
關(guān)于 package.json 文件中需要的內(nèi)容,您只需要了解這個(gè)文檔奔垦。
它必須是標(biāo)準(zhǔn)的JSON仑嗅,而不是JavaScript對(duì)象字面量宴倍。
本文檔中描述的許多行為都受到npm-config中描述的配置設(shè)置的影響张症。
name
如果您計(jì)劃發(fā)布包仓技,那么包中最重要的部分俗他。json是名稱和版本字段脖捻,因?yàn)樗鼈兪潜匦璧恼仔啤CQ和版本一起構(gòu)成一個(gè)標(biāo)識(shí)符地沮,該標(biāo)識(shí)符被認(rèn)為是完全惟一的。對(duì)包的更改應(yīng)該與對(duì)版本的更改一起出現(xiàn)羡亩。如果不打算發(fā)布包摩疑,名稱和版本字段是可選的畏铆。
名字就是你的東西的名字。
規(guī)則:
- 名稱必須小于或等于214個(gè)字符辞居。這包括作用域包的作用域。
- 名稱不能以點(diǎn)或下劃線開(kāi)頭瓦灶。
- 新包的名稱中不能有大寫(xiě)字母。
- 該名稱最終成為URL刃泡、命令行上的參數(shù)和文件夾名稱的一部分巧娱。因此烘贴,名稱不能包含任何非url安全字符。
小貼士:
- 不要使用與核心節(jié)點(diǎn)模塊相同的名稱上荡。
- 不要在名稱中使用“js”或“node”馒闷。假設(shè)它是js酪捡,因?yàn)槟诰帉?xiě)一個(gè)包纳账。json文件,您可以使用“engine”字段指定引擎永罚。(見(jiàn)下文)卧秘。
- 名稱可能會(huì)作為參數(shù)傳遞給require(),所以它應(yīng)該是簡(jiǎn)短的翅敌,但也應(yīng)該是合理的描述性的。
- 在過(guò)于依賴npm注冊(cè)表之前蚯涮,您可能希望檢查npm注冊(cè)表,看看是否已經(jīng)有了這個(gè)名稱遭顶。https://www.npmjs.com/
名稱可以有選擇地用范圍作為前綴,例如@myorg/mypackage喘批。有關(guān)詳細(xì)信息嗦哆,請(qǐng)參見(jiàn)np -scope。
version
如果您計(jì)劃發(fā)布包老速,那么包中最重要的部分。json是名稱和版本字段橘券,因?yàn)樗鼈兪潜匦璧那渫隆CQ和版本一起構(gòu)成一個(gè)標(biāo)識(shí)符锋华,該標(biāo)識(shí)符被認(rèn)為是完全惟一的。對(duì)包的更改應(yīng)該與對(duì)版本的更改一起出現(xiàn)衍腥。如果不打算發(fā)布包纳猫,名稱和版本字段是可選的。
版本必須由node-semver解析芜辕,它與npm綁定為依賴項(xiàng)。(npm install semver to use it yourself.)
更多關(guān)于版本號(hào)和范圍的信息請(qǐng)?jiān)L問(wèn)semver.
description
在里面放一段描述倔丈。它是一個(gè)字符串状蜗。這有助于人們發(fā)現(xiàn)你的包,因?yàn)樗性?npm search 結(jié)果里诗舰。
keywords
輸入關(guān)鍵詞。它是一個(gè)字符串?dāng)?shù)組眶根。這有助于人們發(fā)現(xiàn)您的包边琉,因?yàn)樗性趎pm search 結(jié)果里。