Yarn 包管理器入门指南
一、Yarn 的起源
Yarn 是一个基于JavaScript的新一代软件包管理工具,在Facebook开发团队的主导下于2016年推出。该工具的设计灵感来源于NPM在实际应用中所面临的一些局限性问题。这些局限性主要体现在性能方面(如网络传输效率低)、缓存管理混乱以及安装速度较慢等方面。尽管它继承了NPM的一些核心设计理念但同时也进行了多项创新工作以实现更加稳定可靠的软件包管理功能。
二、Yarn 与 NPM 的区别
- 安装速度
Yarn 基于多线程处理技术,大幅提升了包的下载速度。此外,Yarn 通过缓存技术实现了内容的唯一性,大大缩短了本地安装所需的时间。
- 安装结果更可靠
NPM 每次从中央仓库获取依赖包时,都可能面临版本不一致的风险。而 Yarn 在安装过程中会对所有依赖包进行全面检查,从而保证安装结果的一致性和可复现性。
- 更简洁的命令行
Yarn 的命令行更为简洁、易用,避免了很多 NPM 中复杂的命令和参数。
三、Yarn 的使用方式
- 安装 Yarn
在命令行中运行以下命令即可全局安装 Yarn:
npm install --global yarn
- 在项目中使用 Yarn
创建并进入项目目录:
mkdir my-project && cd my-project
使用 Yarn 初始化项目:
yarn init
按提示输入相关信息即可创建 package.json 文件。
- 常用 Yarn 命令
- 安装所有依赖包:
yarn install
- 添加依赖包:
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
- 移除依赖包:
yarn remove [package]
- 更新依赖包:
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
- 示例一:创建一个 Express 应用
mkdir my-express-app && cd my-express-app
yarn init
yarn add express
创建 app.js 文件:
// app.js
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
运行应用:
node app.js
访问 http://localhost:3000 即可看到"Hello World!"
5.示例二:在 Vue 项目中使用 Yarn 的实例。
- 首先,使用 Vue CLI 创建一个新的 Vue 项目:
# 使用 Yarn 创建 Vue 项目
yarn global add @vue/cli
vue create my-vue-app
该指令将执行 启动 Vue CLI 的操作,请务必选择 “Use Yarn as package manager” 选项 以确保 以便于在项目中使用Yarn作为包管理器 使用Yarn进行相应的配置步骤
- 进入项目目录:
cd my-vue-app
- 安装项目依赖:
yarn
这个命令会读取 package.json 文件并安装所有需要的依赖。
- 可以使用
yarn serve启动开发服务器:
yarn serve
该功能将被启用为部署为 Vue 的开发服务器;访问浏览器中的 http://localhost:8080 查看应用。
编辑组件并保存,页面会自动热重载。
当您准备好要部署应用时,可以使用 yarn build 命令构建生产版本:
yarn build
在dist目录中生成一个经过优化的静态文件版本,并将其放入生产级环境以便使用
- 如果你需要安装额外的 Vue 插件或其他依赖项,只需运行:
yarn add xxxxx
就可以将依赖项添加到 package.json 并安装。
- 要升级依赖项的版本,可以使用:
yarn upgradexxxxxx@latest
总体而言,在Vue项目的Yarn使用基本上与其它项目相似,在创建项目时选择Yarn作为包管理器后,则可以通过运行yarn命令来替代npm以管理和执行脚本。鉴于Yarn的优势,在开发过程中能够带来更快捷、更可靠的体验。
四、总结
通过本文,我们对Yarn的诞生背景有了更深入的了解,并且能够更好地理解其与NPM的不同之处。不仅能够帮助我们更好地理解两者的不同之处,在项目中合理配置Yarn,Y还能显著提高包的下载速度以及优化安装效率。此外,Yarn还能够保证项目开发中的依赖兼容性,从而提升整体开发体验。如您有任何疑问或建议,请随时提出。
