項目 `package.json` 文件中通常會包含多種依賴,如下:
```
{
"name": "my-project",
"dependencies": {
"package-a": "^1.0.0"
},
"devDependencies": {
"package-b": "^1.2.1"
},
"peerDependencies": {
"package-c": "^2.5.4"
},
"optionalDependencies": {
"package-d": "^3.1.0"
}
}
```
### 一、dependencies —— 普通依賴
運行項目時需要用到的依賴。如React、ImmutableJS。
### 二、devDependencies —— 開發依賴
開發時使用到的依賴。如Babel(ES6轉ES5)、Flow(JS靜態類型檢查)
### 三、peerDependencies —— 對等依賴,發布依賴包時用
對等依賴——依賴的特殊類型,你在發布依賴包時使用。
使用對等依賴意味著,別人使用你的程序時,安裝的依賴需要跟你安裝的一毛一樣。這對像React這樣的包特別有用,它經常需要復制一份react-dom供安裝者使用。
### 四、optionalDependencies —— 可選依賴
可選的依賴包,如果此包安裝失敗,Yarn依然會提示安裝進程成功。
對非必須的依賴包很實用,如果安裝失敗,你可以選擇其他的包替代。如Watchman。
### 五、bundledDependencies —— 要打包的依賴/捆綁依賴
在發布包時,會一起打包的依賴包。它是由包名組成的數組。
捆綁依賴包應該下載到項目本地。功能跟普通依賴是一樣的。運行 `$ yarn pack` 時,它們也會被打包。
捆綁依賴是為了解決有些包可能在npm找不到,或者在你需要把你自己的項目作為模塊使用時。
-
作者:Shellway Ho
轉載請注明出處! 來源: http://docs.shellway.cn/learning-yarn/