依赖管理工具

其实本无差距,不管是用npm还是yarn都是为了提高工作效率,使用哪一种看个人喜好了。

npm

npm是安装node,自带安装在全局的依赖管理工具,不需要再额外安装

安装在全局

全局安装后可以供命令行(command line)使用,用户可以在命令行中直接运行该组件包支持的命令

npm list —depth=0 -global

安装模块(安装在项目文件,需要终端进入项目根目录执行)

npm install XXX 

全局安装模块(可直接在终端执行)

npm install -g XXX

局部安装工具
安装并写入package.json的”dependencies”中

npm install xxx –save

安装并写入package.json的”devDependencies”中

更新依赖包

npm update

更新包后执行 npm outdated 命令。不应该有任何输出。

npm install xxx –save-dev

删除模块(删除全局模块)

npm uninstall -g xxx

查看当前安装在全局的所有模块

npm root -g

由于国内的环境,npm下载依赖过慢,可以通过切换源镜像来加快下载依赖

临时使用

npm --registry https://registry.npm.taobao.org install express

永久使用

npm config set registry https://registry.npm.taobao.org

yarn

官方介绍,Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具

yarn主要是弥补npm在安装的时候无法保持一致性,如下图实例
image
  • “5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目由于安装的版本不一致出现bug
  • npm install安装速度很慢
  • npm安装依赖的时候,会抛出错误但是不会停止下载,无法注意到影响开发的真实发生的错误

安装

brew install yarn(MacOS)
npm install yarn

更新

 sudo npm upgrade --global yarn

为了更快的加载速度,yarn也可以切换源镜像

yarn config set registry 'https://registry.npm.taobao.org'

实例初始化比较

image

初始化项目

XXX init

安装项目的全部依赖

yarn

添加依赖包(生产环境)

yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]

给开发环境添加包

yarn add [package] --dev

升级依赖包

yarn upgrade [package]

移除

yarn remove [package]