未加星标

一个比NPM更好的JavaScript包管理工具――Yarn

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

上一篇简单介绍了NPM包管理工具

在这篇文章中

我想给大家介绍一个取代使用NPM的包管理工具――Yarn

以及它与NPM之间的差异

简介
一个比NPM更好的JavaScript包管理工具――Yarn

这个就是Yarn的logo,应该是一只猫

Yarn的官网: 传送门

来到官网,映入眼帘的就是这么几个大字(大单词~)


一个比NPM更好的JavaScript包管理工具――Yarn

富强,民主,文明,和谐……

那是不可能的~

这行英语的意思是: 极速、可靠、安全的依赖关系管理

Yarn是Facebook、Google、Exponent和Tilde开发的一款新的javascript包管理工具(开源)

Facebook对于Github的贡献确实是有目共睹的,仅次于微软

开发Yarn意在解决了使用npm时面临的少数问题

安装巨慢无比 npm安装时可以运行代码,不安全 …… 下载

我的电脑是windows操作系统

按照官网的说明, 下载.msi安装包

下载之前也必须有NodeJS


一个比NPM更好的JavaScript包管理工具――Yarn

一步一步next就好了

还有一种方法官网没说直接通过命令行

我也是通过这种方法下载的

输入命令: npm intall -g yarn

不过我是卡了好几遍才下好(网太卡伤不起)

下载完毕后输入命令 yarn --version 查看版本


一个比NPM更好的JavaScript包管理工具――Yarn
使用

使用和npm是类似的

初始化包 yarn init


一个比NPM更好的JavaScript包管理工具――Yarn

这里我一开始用git bash发现不好使,会报错


一个比NPM更好的JavaScript包管理工具――Yarn

后来还是老实的用cmd命令行

其实npm的命令和yarn大多相通的

只需要把npm换成yarn

不过还是有些不同的

添加包依赖使用命令: yarn add <package>

它相当于npm命令: npm install <package> --save

也就是说它会自动将下载包以及版本信息写入package.json的dependencies

{ "name": "node", "version": "1.0.0", "main": "index.js", "repository": {}, "license": "MIT", "dependencies": { "react": "^15.4.2" } }

yarn常用的命令以及和npm的对照如下

yarn命令 含义 npm命令 yarn 根据package.json安装依赖 npm install yarn init 初始化包 npm init yarn add <package> 安装依赖并写入dependencies npm install <package> --save yarn global add <package> 全局安装依赖并写入dependencies npm install <package> -g --save yarn add <package> --dev/-D 安装依赖并写入devDependencies npm install <package> --save-dev yarn upgrade <package> 升级包版本 npm update <package> --save yarn remove <package> 卸载包 npm uninstall <package> --save

更详细的请查看 官方文档

yarn.lock

当我们下载依赖的时候,会发现目录下多了yarn.lock文件

它是很重要的文件,不要删掉它


一个比NPM更好的JavaScript包管理工具――Yarn

转移到其他电脑的时候,要连同package.json和yarn.lock文件一起拷贝

然后输入命令 yarn 下载模块

这个yarn.lock有什么好处呢?

使用NPM的时候,如果拥有相同package.json的两台电脑子安装了不同版本的包

就可能会产生一些问题

而Yarn为了避免包版本的错误匹配,将确定的安装版本固定这个锁文件yarn.lock中

每次添加模块,Yarn就会更新(首次创建)yarn.lock 文件

这样我们转移到其他电脑,也可以匹配为相同版本的模块

避免了版本不同产生的问题

(也就是查看package.json配置文件前,会先查看yarn.lock锁文件)

实际上NPM也可以实现类似的功能

使用 npm shrinkwrap 命令可以生成一个锁文件

但是使用NPM我们每次都需要手动“上锁”

而Yarn会自动更新 yarn.lock

优势

想谈一谈yarn较npm的优势

把优势放在最后将确实有点奇怪

这也算有使用心得体验的成分

急速
下载速度真的很快,下载任务是并行下载,而npm是按顺序一个一个下 缓存
会缓存下载过的包,下载过的包甚至可以离线下载,npm就不能 清晰
输出不像npm一点儿也不冗余,并且进度条很形象,谁用谁知道 安全
下载前会检查签名及包的完整性 可靠
各平台依赖一致性,yarn.lock自动更新 优化
下载失败自动重新请求,以及对网络资源最大化利用,避免无用请求

综上,Yarn前途无量

==主页传送门==

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

分页:12
转载请注明
本文标题:一个比NPM更好的JavaScript包管理工具――Yarn
本站链接:http://www.codesec.net/view/531826.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(107)