• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Yarn 升级: v3 都出了不要再用 yarn1 了

武飞扬头像
超悠閒
帮助1

Yarn 升级: v3 都出了不要再用 yarn1 了!

Yarn 默认版本

2202 年了 yarn 也该升级了,什么 pnpm 都跑出来要喧宾夺主了,是时候来看看我们曾经的好帮手 yarn 的改变

默认版本下安装的 yarn 都是 v1 版本的

学新通

Yarn 升级公告

实际上作者本身也好久没有去看 yarn 的官网(可能根本没看过hh),yarn 的官方网站一直都有告诉我们可以升级啦!升级传送门:Installation

下面我们马上来体验

开始升级!

第一步:初始化项目/现有项目升级

升级成 yarn v3 有两种方式,第一种是直接在初始化的时候启用

yarn init -2

学新通

或是如果是对现有项目我们则可以使用下面命令(有些人用的是 berry 也无伤大雅

yarn set version stable

上面两种方式都是官方推荐的正确做法,还不赶紧回去看文档!

第二步:安装依赖

创建好项目之后先不急着看在干嘛,先写点代码装装看依赖先

先建立一个 ts 文件

  • /src/index.ts
const msg: string = "Hello World";
console.log(msg);

然后安装一些执行 typescript 需要的依赖

yarn add ts-node typscript -D

学新通

可以看到针对指令的输出也得到升级

运行就算了,反正能跑,想试试自己把项目下下来看看

查看变化

最后我们来看一下 yarn 的升级带来的变化

首先看到目录结构

学新通

最大的不同在于 yarn v3 不再采用原始的 node_modules 模式了,理由blablabla,给大家整理一下重点

  • 查找 node_modules 运行成本高,CI/CD 部署时下载时间太久,依赖版本不稳定(依赖包更新将改变原有版本
  • 多个成员间共享依赖仅靠 yarn.lock 是不够的

因此 yarn 提出的解决方案是根据依赖包的特征实现特定的压缩方案,将依赖变成空间极小的压缩包形式放在 .yarn 目录之下

学新通

本地运行 yarn 的时候再根据压缩包信息重新展开成类似 node_modules 的形式(不会真的创建该目录),在运行时提供真正的模块依赖

以后在小组多个成员之间写作的时候就不再需要重新安装依赖,甚至是直接连带依赖的压缩包统统都 push 上去!大家一起用的感觉

小结

yarn 的升级相对于 pnpm 是更具破坏性的改变,比起 pnpm 使用链接的方式曲线救国,虽然符合原来的 node_modules 的模式,同时支持更多新特性;yarn 直接把 node_modules 干掉了,改成能让你 push 上去的压缩包形式,非常有意思。

不过对于 yarn v3 的应用我认为多数团队可能会保持观望态度,毕竟如此破坏性的改革对于 npm 上千变万化的包带来的风险是未知的,让我们继续看下去 yarn 的成长。


参考连接

完整代码示例

https://github.com/superfreeeee/Blog-code/tree/main/front_end/package/yarn_version_upgrade

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgghgfg
系列文章
更多 icon
同类精品
更多 icon
继续加载