正文
Yarn 可以从多个资料库安装 JavaScript 包,这些资料库包括 npm、bower、Git 库甚至本地文件系统。
默认情况下,它会在 npm 资料库中扫描你需要的包:
你下面这样可以从远程安装一个 gzip 压缩包:
下面会从本地文件系统安装包:
从本地文件系统安装包对持续发行 JavaScript 包的开发者特别有帮助。你可以在把包发行到资料库之前通过这个功能测试你的包。
从远程 Git 库安装包:
Yarn 从 Github 安装包
Yarn 还会自动检查 Git 库是否是作为 Bower 资料库使用,如果是则把它当作 Bower 资料库使用。
使用过 npm 的人都有这样的体验,先运行 npm 进行安装,然后就可以去看场电影,回来再检查是否安装完成。好吧,也许说这么长的时间有点夸张,但是 npm 确实会花很长的时间用于遍历依赖树,并摘取依赖包。Yarn 已经实实在在地把安装等待时间从分钟级别降低到秒级。
Yarn 高效地将请求组成队列,避免大量使用网络资源。它从请求资料库开始,然后递归检查每荐依赖。然后它会在公共的缓存目录查找所需要所包是否已经下载过。如果没有,Yarn 会将压缩包下载到公共缓存,使之可以离线使用,避免重新下载。
安装过程中,Yarn 会进行并行操作,这使得安装过程快得多。我分别使用 npm 和 yarn 安装了 3 个包,jsonwebtoken、express 和 lodash。当 Yarn 完成安装的时候,npm 仍在继续。