Yarn是Facebook、Google等主导开发的新的Javascript包管理器。(相对于npm)
安装
sudo npm install -g yarn --registry https://registry.npm.taobao.org
这里使用了taobao npm镜像
- 配置Angular Cli使用yarn
使用ng命令设置全局使用yarn
ng config -g cli.packageManager yarn
使用
添加依赖
yarn add <DEP_NAME>
# dev
yarn add -D <DEP_NAME>
参考工具自带帮助文档
yarn --help
包下载缓存
可以通过设置环境变量YARN_CACHE_FOLDER
来指定缓存目录
Ubuntu下修改~/.bashrc
echo 'YARN_CACHE_FOLDER=$HOME/.yarn' >> ~/.bashrc
构建速度简单比较
使用项目tour-of-heroes安装nodejs依赖。
镜像: https://registry.npm.taobao.org
NPM (6.14.5) | Yarn (1.22.4) |
---|---|
real 0m26.231s | real 0m14.048s |
user 0m31.685s | user 0m15.415s |
sys 0m5.247s | sys 0m5.666s |
可以看到yarn明显要快一些。
类似于npm安装依赖时创建package-lock.json
文件,yarn也会创建yarn.lock
文件锁定依赖。(这时安装已有包换registry会不生效)
包下载镜像
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/
PHANTOMJS_CDNURL=https://npm.taobao.org/mirrors/phantomjs/
ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
可以自己搭建一个镜像,解决内网防火墙内无法下载包的问题
- 使用Caddy反向代理taobao镜像
:8080 {
# https://npm.taobao.org/mirrors/node-sass/
route /dist/node-sass/* {
reverse_proxy https://cdn.npm.taobao.org {
header_up Host {http.reverse_proxy.upstream.hostport}
}
}
# https://npm.taobao.org/mirrors/phantomjs/
reverse_proxy /dist/phantomjs/* https://cdn.npm.taobao.org {
header_up Host {http.reverse_proxy.upstream.hostport}
}
}
- node-sass 离线安装
下载地址 https://github.com/sass/node-sass/releases
# 设置环境变量,注意使用绝对路径
export SASS_BINARY_PATH=<absolute_path_to_file>