本文已参与「新人创作礼」活动,一起开启掘金创作之路。
yarn 工具包安装
安装yarn有以下两种方式:
- 先安装 node,然后直接使用
npm install -g yarn来安装yarn。 - 百度搜索
yarn官网,然后下载对应操作系统的安装包进行安装。
使用yarn -v来测试yarn是否安装成功。
注意:通常情况下不建议通过
npm进行安装,因为npm安装是非确定性的,程序包没有签名,并且npm除了做了基本的 SHA1 哈希之外不执行任何完整性检查,这给安装系统程序带来了安全风险。基于这些原因,这里强烈建议通过官网找到最适合你的操作系统的安装方法来安装 yarn。
yarn 常用命令
| 作用 | npm | Yarn |
|---|---|---|
| 初始化 | npm init | yarn init |
| 安装 | npm install | yarn |
| 卸载 | npm uninstall | yarn remove |
| 全局安装 | npm install xxx -- global(-g) | yarn global add xxx |
| 安装包 | npm install xxx -save(-S) | yarn add xxx |
| 开发模式安装包 | npm install xxx -save-dev(-D) | yarn add xxx -dev(-D) |
| 更新 | npm update -save | yarn upgrade |
| 全局更新 | npm update -global | yarn global upgrade |
| 卸载包 | npm uninstall xxx [-save/-save-dev] | yarn remove xxx |
| 清除缓存 | npm cache clean | yarn cache clean |
| 重装 | rm -rf node_modules && npm install | yarn upgrade |
| 淘宝镜像源设置 | npm config set registry registry.npm.taobao.org/ -g | yarn config set registry registry.npm.taobao.org/ -g && yarn config set sass_binary_site cdn.npm.taobao.org/dist/node-s… -g |
| 镜像源查看 | npm get registry | yarn config get registry |
初始化新项目
yarn init
安装项目全部依赖
以下两命令均可。
yarn
yarn install
项目运行
yarn dev
yarn run dev
项目打包
yarn build
添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
将依赖项添加到不同依赖项类别
分别添加到devDependencies、peerDependencies和optionalDependencies类别中:
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
yarn 与 npm 的恩怨情仇
yarn是在npm之后推出的一个新的 JS 包管理工具,如官网所言,yarn是为了弥补npm的一些缺陷而出现的。
yarn和npm的主要区别:
yarn安装包的速度更快,yarn是同步执行所有任务,而npm是按照队列去执行每个package。另外yarn采用离线模式,如果之前已经安装过一个软件包,用yarn再次安装时会直接从缓存中获取,而不用像npm那样再从网络下载。yarn解决了由于语义版本控制而导致的npm的不确定性的问题,通过安装时创建的默认文件,确认使用的库的版本相同。yarn的输出就简洁很多,直观且直接的打印必要信息,而npm的输出信息就比较冗长。yarn的语义比npm更加清晰,它改变了一些npm命令的名称。
npm 的未来
在yarn出现之后,npm5.0开始做了一些改进。
- 默认新增了类似
yarn.lock的package-lock.js; - git 依赖支持优化:这个特性在需要安装大量内部项目(例如在没有自建源的内网开发),或需要使用某些依赖的未发布版本时很有用。在这之前可能需要使用指定
commit_id的方式来控制版本。 - 文件依赖优化:在之前的版本,如果将本地目录作为依赖来安装,将会把文件目录作为副本拷贝到
node_modules中。而在npm5.0中,将改为使用创建symlinks的方式来实现(使用本地tarball包除外),而不再执行文件拷贝。这将会提升安装速度。目前yarn还不支持。
npm5.0在速度和使用上确实有了很大的提升,不过还是比较推荐尝试一下yarn