npm 的 package.json 包括 5 種 dependencies:
dependencies
應(yīng)用能夠正常運(yùn)行所依賴的包新荤。這種 dependencies 是最常見(jiàn)的,用戶在使用 npm install 安裝你的包時(shí)會(huì)自動(dòng)安裝這些依賴铅辞。
devDependencies
開(kāi)發(fā)應(yīng)用時(shí)所依賴的工具包街氢。通常是一些開(kāi)發(fā)摆昧、測(cè)試诚卸、打包工具界酒,應(yīng)用正常運(yùn)行并不依賴于這些包圣拄,用戶在使用 npm install 安裝你的包時(shí)也不會(huì)安裝這些依賴。
peerDependencies
應(yīng)用運(yùn)行依賴的宿主包毁欣。最典型的就是插件庇谆,例如各種 jQuery 插件,這些插件本身不包含 jQeury凭疮,需要外部提供饭耳。用戶使用 npm 1/2 時(shí)會(huì)自動(dòng)安裝這種依賴,npm 3 不會(huì)自動(dòng)安裝执解,會(huì)提示用戶安裝寞肖。
bundledDependencies:
發(fā)布包時(shí)需要打包的依賴。
optionalDependencies
可選的依賴包。此種依賴不是程序運(yùn)行所必須的新蟆,但是安裝后可能會(huì)有新功能觅赊,例如一個(gè)圖片解碼庫(kù),安裝了 optionalDependencies 后會(huì)支持更多的格式琼稻。
從以上的定義可以看出吮螺,dependencies 是程序運(yùn)行依賴,devDependencies 一般是一些開(kāi)發(fā)工具帕翻,peerDependencies 一般用于插件鸠补。