Skip to content

Commit 6024dba

Browse files
committedFeb 27, 2025
fix: correct spelling of "Monorepo" in documentation and some md syntax
1 parent ea42e8a commit 6024dba

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed
 

‎src/6/6.1.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
## 初始化
55

66
```tsx
7-
$ git clone --depth 1 git@github.com:npmstudy/your-node-v20-menoreopo-project.git my-menorepo
8-
Cloning into 'my-menorepo'...
7+
$ git clone --depth 1 git@github.com:npmstudy/your-node-v20-monorepo-project.git my-monorepo
8+
Cloning into 'my-monorepo'...
99
remote: Enumerating objects: 52, done.
1010
remote: Counting objects: 100% (52/52), done.
1111
remote: Compressing objects: 100% (41/41), done.
@@ -19,7 +19,7 @@ Resolving deltas: 100% (2/2), done.
1919
```tsx
2020
$ rm -rf .git/
2121
$ git init
22-
Initialized empty Git repository in /Users/alfred/workspace/npmstudy/my-menorepo/.git/
22+
Initialized empty Git repository in /Users/alfred/workspace/npmstudy/my-monorepo/.git/
2323
$ git status
2424
On branch main
2525

@@ -108,12 +108,12 @@ pnpm是一种包管理工具,类似于npm和Yarn。它的主要特点是使用
108108

109109
pnpm的一些优点包括:
110110

111-
1. 磁盘空间占用更小:由于使用硬链接和符号链接来共享依赖项,pnpm可以显著减少每个项目的磁盘空间占用。这对于Menorepo和多个项目共享相同依赖项的情况特别有用
111+
1. 磁盘空间占用更小:由于使用硬链接和符号链接来共享依赖项,pnpm可以显著减少每个项目的磁盘空间占用。这对于Monorepo和多个项目共享相同依赖项的情况特别有用
112112
2. 安装速度更快:由于共享依赖项,pnpm可以在安装过程中跳过重复的依赖项。这可以显著减少安装时间,特别是在多个项目之间共享相同依赖项的情况下。
113113
3. 更少的网络流量:由于共享依赖项,pnpm只需要下载一次每个依赖项,而不是每个项目都下载一次。这可以减少网络流量的消耗,特别是在多个项目之间共享相同依赖项的情况下。
114114
4. 兼容性:pnpm与npm和Yarn的生态系统兼容,并且可以使用它们的配置文件和命令。这使得迁移到pnpm相对容易,而不需要对项目进行大量的更改。
115115

116-
pnpm是一个快速、高效且节省空间的包管理工具,适用于大型项目和Menorepo
116+
pnpm是一个快速、高效且节省空间的包管理工具,适用于大型项目和Monorepo
117117

118118
安装pnpm
119119

@@ -304,7 +304,7 @@ app.listen(3000);
304304
```tsx
305305
$ pnpm example
306306

307-
> your-node-v20-menoreopo-project@ example /Users/alfred/workspace/npmstudy/my-menorepo
307+
> your-node-v20-monorepo-project@ example /Users/alfred/workspace/npmstudy/my-monorepo
308308
> npm run build && pnpm -F example dev
309309

310310
> build
@@ -319,7 +319,7 @@ $ pnpm example
319319

320320
Nx read the output from the cache instead of running the command for 2 out of 2 tasks.
321321

322-
> example@1.0.0 dev /Users/alfred/workspace/npmstudy/my-menorepo/example
322+
> example@1.0.0 dev /Users/alfred/workspace/npmstudy/my-monorepo/example
323323
> tsx watch src/app.ts
324324
```
325325

‎src/6/6.2.md

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# 开源最佳实践
33

4-
https://github.com/npmstudy/your-node-v20-menoreopo-project 里,我们用到的技术栈如下。
4+
<https://github.com/npmstudy/your-node-v20-monorepo-project> 里,我们用到的技术栈如下。
55

66
```markdown
77
- [Tsup](https://tsup.egoist.dev/) as a TypeScript universal package.
@@ -27,7 +27,7 @@
2727
3. tsd
2828
4. tsdoc
2929

30-
模块安装和menorepo
30+
模块安装和monorepo
3131

3232
1. pnpm
3333

@@ -97,7 +97,7 @@ packages:
9797

9898
```
9999

100-
剩下的就是运行时处理。之前nx run-many解决了menorepo子模块运行的问题。很多时候我们需要在根目录执行某个项目 的构建脚本,需要通过—filter或-F过滤之后,再执行,示例如下。
100+
剩下的就是运行时处理。之前nx run-many解决了monorepo子模块运行的问题。很多时候我们需要在根目录执行某个项目 的构建脚本,需要通过—filter或-F过滤之后,再执行,示例如下。
101101

102102
```tsx
103103
$ pnpm -F example dev
@@ -116,7 +116,6 @@ $ pnpm -F example dev
116116

117117
**It's fast!**
118118

119-
120119
优点:
121120

122121
1. 基于vite机制,性能极佳,比jest快很多,
@@ -316,7 +315,7 @@ limit-size 是一个用于控制文件包大小的工具,它可以读取文件
316315

317316
![Untitled](img/Untitled%2011.png)
318317

319-
也可以结合https://github.com/statoscope/statoscope 进行分析。
318+
也可以结合<https://github.com/statoscope/statoscope> 进行分析。
320319

321320
 [Statoscope: A Course Of Intensive Therapy For Your Bundle](https://www.smashingmagazine.com/2022/02/statoscope-course-intensive-therapy-bundle/).
322321

@@ -329,7 +328,7 @@ limit-size 是一个用于控制文件包大小的工具,它可以读取文件
329328

330329
</aside>
331330

332-
在使用Menorepo时,你一定听说过 Nx。简而言之,Nx 可以加快和简化与Menorepo的工作,并提供有用的实用程序。
331+
在使用Monorepo时,你一定听说过 Nx。简而言之,Nx 可以加快和简化与Monorepo的工作,并提供有用的实用程序。
333332

334333
官方介绍:
335334

@@ -368,7 +367,7 @@ nx 会计算当前执行的 target 的 Hash 作为 cache key,在 target 执行
368367
```tsx
369368
$ pnpm project-graph
370369

371-
> your-node-v20-menoreopo-project@ project-graph /Users/alfred/workspace/npmstudy/your-node-v20-menoreopo-project
370+
> your-node-v20-monorepo-project@ project-graph /Users/alfred/workspace/npmstudy/your-node-v20-monorepo-project
372371
> nx graph
373372

374373
> NX Project graph started at http://127.0.0.1:4211/projects
@@ -380,7 +379,7 @@ nx除了本地换成,其实还支持云服务(remote cache)。即nx.app,
380379

381380
![Untitled](img/Untitled%2015.png)
382381

383-
https://github.com/npmstudy/your-node-v20-menoreopo-project 项目里,我们其实只用了非常简单的npm nx run-many
382+
<https://github.com/npmstudy/your-node-v20-monorepo-project> 项目里,我们其实只用了非常简单的npm nx run-many
384383

385384
```tsx
386385
"build": "nx run-many -t build",

‎src/6/6.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# 6、Menorepo多模块开发实践
1+
# 6、Monorepo多模块开发实践
22

33
前面5节课里,我们已经把一个Node.js + TS的完整项目开发过程讲完了,虽然主要以Hello world为主,相信对初学者学习来说足够。本章主要讲解nodejs + ts 在多模块开发场景下的用法,以及最佳实践,希望本章能够做到既实用,又能开眼界。
44

5-
Menorepo是一种软件开发的方法论,它指的是将一个大型项目拆分成多个小型仓库进行管理的做法。每个小型仓库都专注于特定的功能或模块,可以独立开发、测试和部署。通过使用Menorepo,开发团队可以更好地协作、提高开发效率,并且更容易实现代码复用和模块化。
5+
Monorepo是一种软件开发的方法论,它指的是将一个大型项目拆分成多个小型仓库进行管理的做法。每个小型仓库都专注于特定的功能或模块,可以独立开发、测试和部署。通过使用Monorepo,开发团队可以更好地协作、提高开发效率,并且更容易实现代码复用和模块化。
66

77
工程领域的解决方案有很多,比如Lerna、yarn workspaces、nx、rush、bolt、pnpm workspace,甚至还有lerna-lite,足见其流行程度之火爆。更有甚至,把前端应用和Node.js应用放到一起,混着packages去用,真是不知道闹多大笑话,不要为了用而用。
88

9-
我理解Menorepo的典型场景如下
9+
我理解Monorepo的典型场景如下
1010

1111
- 前端应用+组件
1212
- Node.js应+中间件、父子应用

‎src/SUMMARY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
- [常用测试技巧进阶](./5/5.2.md)
3131
- [学会CI/CD](./5/5.3.md)
3232
- [本章小结](./5/5.4.md)
33-
- [Menorepo多模块开发实践](./6/6.md)
33+
- [Monorepo多模块开发实践](./6/6.md)
3434
- [开发你的第一个模块](./6/6.1.md)
3535
- [开源最佳实践](./6/6.2.md)
3636
- [如何学习](./6/6.3.md)

0 commit comments

Comments
 (0)