我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Yarn与Lerna管理monorepo使用的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Yarn与Lerna管理monorepo使用的方法

这篇“Yarn与Lerna管理monorepo使用的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Yarn与Lerna管理monorepo使用的方法”文章吧。

什么是 Yarn workspace

Yarn workspace 是 Yarn 提供的 monorepo 下,管理依赖的机制。对代码仓库下,多个 package 的依赖,进行管理:将共同的依赖,做 hosting(提升)。这样,可以防止 package 中的包重复安装。 workspace 机制,会在根目录下,统一安装依赖到 node_module,并生成 yarn.lock。单个 package 下,不需要再生成 yarn.lock。

如何使用 Yarn workspace

Yarn 启用工作区

yarn config set workspaces-experimental true

命令的含义:添加workspaces-experimental true到系统全局的.yarnrc中。

修改根目录的 package.json,添加如下内容:

{ "private": true, ... "workspaces": ["packages/*"]}

配置项含义: private - 禁止发布根目录内容 workspaces - 设置工作区,声明 workspace 中 package 的路径。值是一个字符串数组,支持 Glob 通配符。

Lerna 安装依赖的方式

Lerna 安装依赖的方式,是使用命令lerna bootstrap。 该命令的作用,是 cd 到 package 文件夹下的每个子文件夹,运行npm installyarn install,在子文件夹中生成版本lock文件和node_module,单独对依赖进行管理。

Yarn workspace 与 Lerna 结合

结合的方式

  • 配置 lerna.json

{ ... "npmClient": "yarn", "useWorkspaces": true}
  • 配置 package.json

{ "private": true, ... "workspaces": ["packages/*"]}

角色的分配

Yarn 负责管理依赖,workspace 会自动对 package 的引用 ,设置软链接(symlink),并且软链接仅在当前 workspace 中生效。 Lerna 负责版本的发布工作,对 package 相互之间的依赖,做好版本管理。

好处

减少项目的磁盘占用空间

Yarn 将项目中的共同依赖,提升到根目录下进行安装

自动设置软链接,方便调试

Yarn 的 workspace 会自动对 package 的引用,设置 symlink

  • 所有 package 使用同一个 yarn.lock,更少造成冲突且易于审查

使用

  • 首次安装依赖 lerna bootstrap

  • 安装dependencies依赖 `yarn add -W [pkg]

  • 安装devDependencies依赖 yarn add -D -W [pkg]

-W 的含义: 安装依赖到 workspace -D的含义: 安装依赖到devDependencies`

以上就是关于“Yarn与Lerna管理monorepo使用的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Yarn与Lerna管理monorepo使用的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Yarn与Lerna管理monorepo使用的方法

这篇“Yarn与Lerna管理monorepo使用的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Yarn与Lerna管
2023-07-02

yarn的使用与升级Node.js的方法详解

前言 在官方介绍里有这么一句话: Yarn is a package manager for your code. It allows you to use and share code with other developers from
2022-06-04

利用yarn代替npm管理前端项目模块依赖的方法详解

本文主要给大家介绍了关于yarn代替npm管理前端项目模块依赖的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 什么是 yarn 简单来说,yarn 是一个与 npm 功能相同的工具,用于前端项目的依赖管理。在使
2022-06-04

使用nvm管理不同版本的node与npm的方法

本文介绍了使用 nvm 管理不同版本的 node 与 npm ,分享给大家,具体如下: 补充说明:Mac 下通过 brew install nvm 所安装的 nvm ,由于安装路径不同,无法正确启用。建议使用 brew uninstall
2022-06-04

阿里云服务器管理地址详解阿里云服务器管理与管理地址的使用方法

随着互联网技术的不断发展,越来越多的企业和个人开始使用云计算服务,而阿里云作为国内领先的云计算服务提供商,深受用户喜爱。在使用阿里云服务器的过程中,管理地址是一个非常重要的信息。本文将详细介绍阿里云服务器管理地址,并提供使用方法。正文:阿里云服务器管理地址,也被称为IP地址,是用户在阿里云上创建的服务器的唯一标识
阿里云服务器管理地址详解阿里云服务器管理与管理地址的使用方法
2023-11-08

apache的配置与管理方法是什么

Apache的配置与管理方法主要有两种:通过配置文件进行管理和使用命令行工具进行管理。1. 通过配置文件进行管理:Apache的配置文件是httpd.conf,一般位于Apache安装目录的conf子目录下。可以通过编辑该文件来配置Apac
2023-09-21

Linux中Ruby库的安装与管理方法

在Linux中,Ruby库的安装和管理可以通过以下几种方法:使用包管理器(如apt或yum)安装:大多数Linux发行版都有预编译的Ruby库包。你可以使用系统的包管理器来安装这些库。例如,在Debian或Ubuntu系统上,你可以使用ap
Linux中Ruby库的安装与管理方法
2024-09-10

C语言可变参数使用与内存管理的方法是什么

这篇“C语言可变参数使用与内存管理的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言可变参数使用与内存管理的方
2023-07-04

ReactNative状态管理redux使用的方法是什么

这篇“ReactNative状态管理redux使用的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ReactNat
2023-07-05

详解使用nvm管理多版本node的方法

首先,使用下面的命令来安装 nvm$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash下载并安装完成后用户退出重新登录或者
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录