dependencies、devDependencies、peerDependencies的区别

安装方法

  • dependencies:指定项目运行时所依赖的模块,比如说交互时处理数据需要用到的工具包等。

    使用以下几种方式进行依赖安装时,安装完成后,依赖会放在dependencies下,以lodash为例:

    npm install lodash
    yarn add lodash
    pnpm add lodash
    
  • devDependencies:指定项目开发时所需要的模块,主要是用来打包,解析文件的一些包。

    使用以下几种方式进行依赖安装时,安装完成后,依赖会放在devDependencies下,以sass-loader为例:

    npm install sass-loader --save-dev
    yarn add sass-loader --dev
    pnpm add sass-loader --save-dev
    
  • peerDependencies:指定当前模块所在的宿主环境所需要的模块及其版本

    若宿主环境已有peerDependencies下的包且版本符合要求,那会以项目下的为准。

    若宿主环境已有peerDependencies下的包但版本不符合要求,若使用npm安装,会报错。使用yarnpnpm安装,会打印警告提示。

    若宿主环境没有peerDependencies下的包,若使用npm安装,会同时安装peerDependencies下的包。若使用yarn安装,不会同时安装peerDependencies下的包。若使用pnpm安装,会同时安装peerDependencies下的包到.pnpm文件夹下。

    使用以下几种方式进行依赖安装时,安装完成后,会添加一个或多个 peerDependenciespackage 并安装到 devDependencies,以vue为例:

    npm install vue --save-peer
    yarn add vue --peer
    pnpm add vue --peer
    

npm和yarn安装的区别

1、yarn使用本地缓存,yarn无需互联网连接就能安装本地缓存的依赖项,它提供了离线模式。而npm每次都需要联网去下载。

2、yarn是并行安装,npm是串行的,所以yarn较之npm来说比较快。

3、npm的输出信息比较冗长。在执行npm install的时候,命令行里会不断地打印出所有被安装上的依赖,不够简洁。yarn反之。

参考文章

1、npm 包开发者必修课:彻底搞懂 dependencies、devDependencies和peerDependencies

posted @ 2021-11-26 18:26  SummerSatr  阅读(1077)  评论(0编辑  收藏  举报