前端工程化:从 npm 包管理到 yarn 包管理

字数 413阅读 16

在我们前端工作流中,npm 是现代前端构建系统必备的包管理工具了。但是在中大型项目中,往往因为需要多人维护,不同的团队成立的机器上 npm install 之后的 node_modules 中的包的版本不尽相同,这就导致了在项目发布的时候,每次打包造成改动的文件数量过多的问题。

此时建议可以使用 yarn 的来做项目的包管理,以下是windows 下开发推荐的调整思路,供参考。

nvm 下载 & 安装 & 使用

下载地址:https://github.com/coreybutler/nvm-windows/releases/download/1.1.7/nvm-setup.zip

安装之前建议先把 NodeJS 卸载再安装,尤其是装在 C 盘的

使用

# 列出当前安装的 node 版本
nvm list
 # 使用当前安装的某个版本
nvm use 8.12.0

yarn 安装 & 下载 & 使用

下载地址:https://yarnpkg.com/latest.msi

支持的 Node.js版本: ^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0

如果安装包时会明显变慢:

请把你的项目目录和 Yarn 缓存目录 (%LocalAppData%\Yarn) 加到你的杀毒软件白名单里,否则每个写入到硬盘时将被扫描

使用:

 
# 现有项目中使用 yarn 来创建 yarn.lock
yarn

# 初始化新项目
yarn init

# 添加依赖包
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 
# or
yarn install

yarn 的优点 & 缺点

优点:除了可以自动帮你锁定依赖包的版本之外,yarn还有一个很棒的特性就是可以缓存已经安装过的包。当再次安装时,直接从本地读取即可,可以极大的提高依赖安装速度。

缺点:需要团队成员都使用yarn,增加初始的沟通成本

推荐阅读更多精彩内容