From 6024dba33328d6098477f40d90a01c0df0aa5d66 Mon Sep 17 00:00:00 2001 From: 13ruceYu Date: Thu, 27 Feb 2025 21:22:49 +0800 Subject: [PATCH] fix: correct spelling of "Monorepo" in documentation and some md syntax --- src/6/6.1.md | 14 +++++++------- src/6/6.2.md | 15 +++++++-------- src/6/6.md | 6 +++--- src/SUMMARY.md | 2 +- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/6/6.1.md b/src/6/6.1.md index a366131..e653880 100644 --- a/src/6/6.1.md +++ b/src/6/6.1.md @@ -4,8 +4,8 @@ ## 初始化 ```tsx -$ git clone --depth 1 git@github.com:npmstudy/your-node-v20-menoreopo-project.git my-menorepo -Cloning into 'my-menorepo'... +$ git clone --depth 1 git@github.com:npmstudy/your-node-v20-monorepo-project.git my-monorepo +Cloning into 'my-monorepo'... remote: Enumerating objects: 52, done. remote: Counting objects: 100% (52/52), done. remote: Compressing objects: 100% (41/41), done. @@ -19,7 +19,7 @@ Resolving deltas: 100% (2/2), done. ```tsx $ rm -rf .git/ $ git init -Initialized empty Git repository in /Users/alfred/workspace/npmstudy/my-menorepo/.git/ +Initialized empty Git repository in /Users/alfred/workspace/npmstudy/my-monorepo/.git/ $ git status On branch main @@ -108,12 +108,12 @@ pnpm是一种包管理工具,类似于npm和Yarn。它的主要特点是使用 pnpm的一些优点包括: -1. 磁盘空间占用更小:由于使用硬链接和符号链接来共享依赖项,pnpm可以显著减少每个项目的磁盘空间占用。这对于Menorepo和多个项目共享相同依赖项的情况特别有用。 +1. 磁盘空间占用更小:由于使用硬链接和符号链接来共享依赖项,pnpm可以显著减少每个项目的磁盘空间占用。这对于Monorepo和多个项目共享相同依赖项的情况特别有用。 2. 安装速度更快:由于共享依赖项,pnpm可以在安装过程中跳过重复的依赖项。这可以显著减少安装时间,特别是在多个项目之间共享相同依赖项的情况下。 3. 更少的网络流量:由于共享依赖项,pnpm只需要下载一次每个依赖项,而不是每个项目都下载一次。这可以减少网络流量的消耗,特别是在多个项目之间共享相同依赖项的情况下。 4. 兼容性:pnpm与npm和Yarn的生态系统兼容,并且可以使用它们的配置文件和命令。这使得迁移到pnpm相对容易,而不需要对项目进行大量的更改。 -pnpm是一个快速、高效且节省空间的包管理工具,适用于大型项目和Menorepo。 +pnpm是一个快速、高效且节省空间的包管理工具,适用于大型项目和Monorepo。 安装pnpm @@ -304,7 +304,7 @@ app.listen(3000); ```tsx $ pnpm example -> your-node-v20-menoreopo-project@ example /Users/alfred/workspace/npmstudy/my-menorepo +> your-node-v20-monorepo-project@ example /Users/alfred/workspace/npmstudy/my-monorepo > npm run build && pnpm -F example dev > build @@ -319,7 +319,7 @@ $ pnpm example Nx read the output from the cache instead of running the command for 2 out of 2 tasks. -> example@1.0.0 dev /Users/alfred/workspace/npmstudy/my-menorepo/example +> example@1.0.0 dev /Users/alfred/workspace/npmstudy/my-monorepo/example > tsx watch src/app.ts ``` diff --git a/src/6/6.2.md b/src/6/6.2.md index 458f90f..2246a6d 100644 --- a/src/6/6.2.md +++ b/src/6/6.2.md @@ -1,7 +1,7 @@ # 开源最佳实践 -在 https://github.com/npmstudy/your-node-v20-menoreopo-project 里,我们用到的技术栈如下。 +在 里,我们用到的技术栈如下。 ```markdown - [Tsup](https://tsup.egoist.dev/) as a TypeScript universal package. @@ -27,7 +27,7 @@ 3. tsd 4. tsdoc -模块安装和menorepo +模块安装和monorepo 1. pnpm @@ -97,7 +97,7 @@ packages: ``` -剩下的就是运行时处理。之前nx run-many解决了menorepo子模块运行的问题。很多时候我们需要在根目录执行某个项目 的构建脚本,需要通过—filter或-F过滤之后,再执行,示例如下。 +剩下的就是运行时处理。之前nx run-many解决了monorepo子模块运行的问题。很多时候我们需要在根目录执行某个项目 的构建脚本,需要通过—filter或-F过滤之后,再执行,示例如下。 ```tsx $ pnpm -F example dev @@ -116,7 +116,6 @@ $ pnpm -F example dev **It's fast!** - 优点: 1. 基于vite机制,性能极佳,比jest快很多, @@ -316,7 +315,7 @@ limit-size 是一个用于控制文件包大小的工具,它可以读取文件 ![Untitled](img/Untitled%2011.png) -也可以结合https://github.com/statoscope/statoscope 进行分析。 +也可以结合 进行分析。  [Statoscope: A Course Of Intensive Therapy For Your Bundle](https://www.smashingmagazine.com/2022/02/statoscope-course-intensive-therapy-bundle/). @@ -329,7 +328,7 @@ limit-size 是一个用于控制文件包大小的工具,它可以读取文件 -在使用Menorepo时,你一定听说过 Nx。简而言之,Nx 可以加快和简化与Menorepo的工作,并提供有用的实用程序。 +在使用Monorepo时,你一定听说过 Nx。简而言之,Nx 可以加快和简化与Monorepo的工作,并提供有用的实用程序。 官方介绍: @@ -368,7 +367,7 @@ nx 会计算当前执行的 target 的 Hash 作为 cache key,在 target 执行 ```tsx $ pnpm project-graph -> your-node-v20-menoreopo-project@ project-graph /Users/alfred/workspace/npmstudy/your-node-v20-menoreopo-project +> your-node-v20-monorepo-project@ project-graph /Users/alfred/workspace/npmstudy/your-node-v20-monorepo-project > nx graph > NX Project graph started at http://127.0.0.1:4211/projects @@ -380,7 +379,7 @@ nx除了本地换成,其实还支持云服务(remote cache)。即nx.app, ![Untitled](img/Untitled%2015.png) -在https://github.com/npmstudy/your-node-v20-menoreopo-project 项目里,我们其实只用了非常简单的npm nx run-many +在 项目里,我们其实只用了非常简单的npm nx run-many ```tsx "build": "nx run-many -t build", diff --git a/src/6/6.md b/src/6/6.md index 33c5ba2..fda3a69 100644 --- a/src/6/6.md +++ b/src/6/6.md @@ -1,12 +1,12 @@ -# 6、Menorepo多模块开发实践 +# 6、Monorepo多模块开发实践 前面5节课里,我们已经把一个Node.js + TS的完整项目开发过程讲完了,虽然主要以Hello world为主,相信对初学者学习来说足够。本章主要讲解nodejs + ts 在多模块开发场景下的用法,以及最佳实践,希望本章能够做到既实用,又能开眼界。 -Menorepo是一种软件开发的方法论,它指的是将一个大型项目拆分成多个小型仓库进行管理的做法。每个小型仓库都专注于特定的功能或模块,可以独立开发、测试和部署。通过使用Menorepo,开发团队可以更好地协作、提高开发效率,并且更容易实现代码复用和模块化。 +Monorepo是一种软件开发的方法论,它指的是将一个大型项目拆分成多个小型仓库进行管理的做法。每个小型仓库都专注于特定的功能或模块,可以独立开发、测试和部署。通过使用Monorepo,开发团队可以更好地协作、提高开发效率,并且更容易实现代码复用和模块化。 工程领域的解决方案有很多,比如Lerna、yarn workspaces、nx、rush、bolt、pnpm workspace,甚至还有lerna-lite,足见其流行程度之火爆。更有甚至,把前端应用和Node.js应用放到一起,混着packages去用,真是不知道闹多大笑话,不要为了用而用。 -我理解Menorepo的典型场景如下。 +我理解Monorepo的典型场景如下。 - 前端应用+组件 - Node.js应+中间件、父子应用 diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 3cdc8c4..7fc55a5 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -30,7 +30,7 @@ - [常用测试技巧进阶](./5/5.2.md) - [学会CI/CD](./5/5.3.md) - [本章小结](./5/5.4.md) -- [Menorepo多模块开发实践](./6/6.md) +- [Monorepo多模块开发实践](./6/6.md) - [开发你的第一个模块](./6/6.1.md) - [开源最佳实践](./6/6.2.md) - [如何学习](./6/6.3.md)