• 一、dependencies —— 普通依赖
  • 二、devDependencies —— 开发依赖
  • 三、peerDependencies —— 对等依赖,发布依赖包时用
  • 四、optionalDependencies —— 可选依赖
  • 五、bundledDependencies —— 要打包的依赖/捆绑依赖

    项目 package.json 文件中通常会包含多种依赖,如下:

    1. {
    2. "name": "my-project",
    3. "dependencies": {
    4. "package-a": "^1.0.0"
    5. },
    6. "devDependencies": {
    7. "package-b": "^1.2.1"
    8. },
    9. "peerDependencies": {
    10. "package-c": "^2.5.4"
    11. },
    12. "optionalDependencies": {
    13. "package-d": "^3.1.0"
    14. }
    15. }

    一、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/