Skip to content

Commit 85f2b9a

Browse files
author
leo
committed
替换文本块语法(> info、> warning等)为MDX的自定义容器语法(:::),优化提示内容样式
1 parent 1115ee3 commit 85f2b9a

File tree

126 files changed

+2564
-1264
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+2564
-1264
lines changed

docs/cli/index.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
$ npm install -g @nestjs/cli
2121
```
2222

23-
> **提示** 或者,您可以使用 `npx @nestjs/cli@latest` 命令而无需全局安装 CLI。
23+
:::info 提示
24+
或者,您可以使用 `npx @nestjs/cli@latest` 命令而无需全局安装 CLI。
25+
:::
26+
27+
2428

2529
## 基本工作流程
2630

@@ -46,7 +50,11 @@ $ npm run start:dev
4650

4751
在浏览器中,打开 [http://localhost:3000](http://localhost:3000) 以查看正在运行的新应用程序。当您更改任何源文件时,应用程序将自动重新编译和重新加载。
4852

49-
> **提示** 我们推荐使用 [SWC 构建器](../recipes/swc.md)来获得更快的构建速度(比默认的 TypeScript 编译器快 10 倍)。
53+
:::info 提示
54+
我们推荐使用 [SWC 构建器](../recipes/swc.md)来获得更快的构建速度(比默认的 TypeScript 编译器快 10 倍)。
55+
:::
56+
57+
5058

5159
## 项目结构
5260

docs/cli/overview.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@
1212
$ npm install -g @nestjs/cli
1313
```
1414

15-
> **提示** 你也可以在不全局安装 CLI 的情况下使用此命令 `npx @nestjs/cli@latest`
15+
:::info 提示
16+
你也可以在不全局安装 CLI 的情况下使用此命令 `npx @nestjs/cli@latest`
17+
:::
18+
19+
1620

1721
#### 基本工作流程
1822

@@ -38,7 +42,9 @@ $ npm run start:dev
3842

3943
在浏览器中打开 [http://localhost:3000](http://localhost:3000) 即可查看运行中的新应用。当您修改任何源文件时,应用程序会自动重新编译并加载。
4044

41-
> info **提示** 我们推荐使用 [SWC 构建器](/recipes/swc)以获得更快的构建速度(性能比默认 TypeScript 编译器快 10 倍)。
45+
:::info 提示
46+
我们推荐使用 [SWC 构建器](/recipes/swc)以获得更快的构建速度(性能比默认 TypeScript 编译器快 10 倍)。
47+
:::
4248

4349
#### 项目结构
4450

docs/cli/workspaces.md

Lines changed: 71 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,20 @@ $ nest new my-project
3131

3232
我们已经构建了一个*标准模式*结构,其文件夹结构如下所示:
3333

34-
node_modules
35-
36-
src
37-
38-
app.controller.ts
39-
40-
app.module.ts
41-
42-
app.service.ts
43-
44-
main.ts
45-
46-
nest-cli.json
47-
48-
package.json
49-
50-
tsconfig.json
51-
52-
eslint.config.mjs
34+
<div class="file-tree">
35+
<div class="item">node_modules</div>
36+
<div class="item">src</div>
37+
<div class="children">
38+
<div class="item">app.controller.ts</div>
39+
<div class="item">app.module.ts</div>
40+
<div class="item">app.service.ts</div>
41+
<div class="item">main.ts</div>
42+
</div>
43+
<div class="item">nest-cli.json</div>
44+
<div class="item">package.json</div>
45+
<div class="item">tsconfig.json</div>
46+
<div class="item">eslint.config.mjs</div>
47+
</div>
5348

5449
我们可以将其转换为如下所示的 monorepo 模式结构:
5550

@@ -60,47 +55,43 @@ $ nest generate app my-app
6055

6156
此时,`nest` 将现有结构转换为 **monorepo 模式**结构。这会导致几项重要变化。现在的文件夹结构如下所示:
6257

63-
apps
64-
65-
my-app
66-
67-
src
68-
69-
app.controller.ts
70-
71-
app.module.ts
72-
73-
app.service.ts
74-
75-
main.ts
76-
77-
tsconfig.app.json
78-
79-
my-project
80-
81-
src
82-
83-
app.controller.ts
84-
85-
app.module.ts
86-
87-
app.service.ts
88-
89-
main.ts
90-
91-
tsconfig.app.json
92-
93-
nest-cli.json
94-
95-
package.json
96-
97-
tsconfig.json
98-
99-
eslint.config.mjs
58+
<div class="file-tree">
59+
<div class="item">apps</div>
60+
<div class="children">
61+
<div class="item">my-app</div>
62+
<div class="children">
63+
<div class="item">src</div>
64+
<div class="children">
65+
<div class="item">app.controller.ts</div>
66+
<div class="item">app.module.ts</div>
67+
<div class="item">app.service.ts</div>
68+
<div class="item">main.ts</div>
69+
</div>
70+
<div class="item">tsconfig.app.json</div>
71+
</div>
72+
<div class="item">my-project</div>
73+
<div class="children">
74+
<div class="item">src</div>
75+
<div class="children">
76+
<div class="item">app.controller.ts</div>
77+
<div class="item">app.module.ts</div>
78+
<div class="item">app.service.ts</div>
79+
<div class="item">main.ts</div>
80+
</div>
81+
<div class="item">tsconfig.app.json</div>
82+
</div>
83+
</div>
84+
<div class="item">nest-cli.json</div>
85+
<div class="item">package.json</div>
86+
<div class="item">tsconfig.json</div>
87+
<div class="item">eslint.config.mjs</div>
88+
</div>
10089

10190
`generate app` 原理图已重新组织代码 - 将每个**应用**项目移至 `apps` 文件夹下,并在每个项目的根目录中添加项目特定的 `tsconfig.app.json` 文件。我们原来的 `my-project` 应用已成为该 monorepo 的**默认项目** ,现在与刚添加的 `my-app` 并列位于 `apps` 文件夹下。我们将在下文讨论默认项目。
10291

103-
> error **警告** 将标准模式结构转换为 monorepo 仅适用于遵循标准 Nest 项目结构的项目。具体来说,在转换过程中,原理图会尝试将 `src``test` 文件夹重新定位到根目录下 `apps` 文件夹内的项目文件夹中。如果项目未使用此结构,转换将失败或产生不可靠的结果。
92+
:::warning 警告
93+
将标准模式结构转换为 monorepo 仅适用于遵循标准 Nest 项目结构的项目。具体来说,在转换过程中,原理图会尝试将 `src``test` 文件夹重新定位到根目录下 `apps` 文件夹内的项目文件夹中。如果项目未使用此结构,转换将失败或产生不可靠的结果。
94+
:::
10495

10596
#### 工作区项目
10697

@@ -250,19 +241,21 @@ Nest 将组织和构建标准项目及 monorepo 结构项目所需的元数据
250241
}
251242
```
252243

253-
> warning **警告** 当将 `spec` 指定为对象时,生成原理图的键目前不支持自动别名处理。这意味着如果将键指定为例如 `service: false` 并尝试通过别名 `s` 生成服务,规范文件仍会被生成。为确保正常原理图名称和别名都能按预期工作,请同时指定常规命令名称和别名,如下所示。
254-
>
255-
> ```javascript
256-
> {
257-
> "generateOptions": {
258-
> "spec": {
259-
> "service": false,
260-
> "s": false
261-
> }
262-
> },
263-
> ...
264-
> }
265-
> ```
244+
:::warning 警告
245+
当将 `spec` 指定为对象时,生成原理图的键目前不支持自动别名处理。这意味着如果将键指定为例如 `service: false` 并尝试通过别名 `s` 生成服务,规范文件仍会被生成。为确保正常原理图名称和别名都能按预期工作,请同时指定常规命令名称和别名,如下所示。
246+
:::
247+
248+
249+
```javascript
250+
{
251+
"generateOptions": {
252+
"spec": {
253+
"service": false,
254+
"s": false
255+
}
256+
},
257+
...
258+
}
266259
```
267260

268261
#### 项目专属生成选项
@@ -287,7 +280,9 @@ Nest 将组织和构建标准项目及 monorepo 结构项目所需的元数据
287280
}
288281
```
289282

290-
> warning **注意** 生成选项的优先级顺序如下:命令行界面(CLI)指定的选项优先于项目专属选项,项目专属选项会覆盖全局选项。
283+
:::warning 注意
284+
生成选项的优先级顺序如下:命令行界面(CLI)指定的选项优先于项目专属选项,项目专属选项会覆盖全局选项。
285+
:::
291286

292287
#### 指定编译器
293288

@@ -340,7 +335,11 @@ TypeScript 编译会自动将编译器输出(`.js` 和 `.d.ts` 文件)分发
340335
]
341336
```
342337

343-
> **警告** 在顶层 `compilerOptions` 属性中设置 `watchAssets` 将覆盖 `assets` 属性内的所有 `watchAssets` 配置
338+
:::warning 警告
339+
在顶层 `compilerOptions` 属性中设置 `watchAssets` 将覆盖 `assets` 属性内的所有 `watchAssets` 配置
340+
:::
341+
342+
344343

345344
#### 项目属性
346345

docs/devtools/ci-cd.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
### CI/CD 集成
22

3-
> info **提示** 本章介绍 Nest Devtools 与 Nest 框架的集成。如需了解 Devtools 应用程序,请访问 [Devtools](https://devtools.nestjs.com) 官网。
3+
:::info 提示
4+
本章介绍 Nest Devtools 与 Nest 框架的集成。如需了解 Devtools 应用程序,请访问 [Devtools](https://devtools.nestjs.com) 官网。
5+
:::
46

57
CI/CD 集成功能适用于**[企业版](/settings)**计划的用户。
68

@@ -174,7 +176,11 @@ const publishOptions = {
174176
};
175177
```
176178

177-
> **提示** 理想情况下,`DEVTOOLS_API_KEY` 环境变量应从机密信息中获取。
179+
:::info 提示
180+
理想情况下,`DEVTOOLS_API_KEY` 环境变量应从机密信息中获取。
181+
:::
182+
183+
178184

179185
该工作流将在每个针对 `master` 分支的拉取请求时运行,或者当有代码直接提交到 `master` 分支时触发。您可以根据项目需求自由调整此配置。关键在于我们需要为 `GraphPublisher` 类提供必要的环境变量(以便运行)。
180186

docs/devtools/overview.md

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
### 概述
22

3-
> info **提示** 本章介绍 Nest Devtools 与 Nest 框架的集成。如需了解 Devtools 应用程序,请访问 [Devtools](https://devtools.nestjs.com) 官网。
3+
:::info 提示
4+
本章介绍 Nest Devtools 与 Nest 框架的集成。如需了解 Devtools 应用程序,请访问 [Devtools](https://devtools.nestjs.com) 官网。
5+
:::
46

57
要开始调试本地应用程序,请打开 `main.ts` 文件,并确保在应用程序选项对象中将 `snapshot` 属性设置为 `true`,如下所示:
68

@@ -21,7 +23,9 @@ async function bootstrap() {
2123
$ npm i @nestjs/devtools-integration
2224
```
2325

24-
> warning **注意** 如果您的应用中使用了 `@nestjs/graphql` 包,请确保安装最新版本(`npm i @nestjs/graphql@11`)。
26+
:::warning 注意
27+
如果您的应用中使用了 `@nestjs/graphql` 包,请确保安装最新版本(`npm i @nestjs/graphql@11`)。
28+
:::
2529

2630
有了这个依赖项后,让我们打开 `app.module.ts` 文件并导入刚刚安装的 `DevtoolsModule`
2731

@@ -38,13 +42,17 @@ $ npm i @nestjs/devtools-integration
3842
export class AppModule {}
3943
```
4044

41-
> warning **注意** 此处检查 `NODE_ENV` 环境变量的原因是——切勿在生产环境使用此模块!
45+
:::warning 注意
46+
此处检查 `NODE_ENV` 环境变量的原因是——切勿在生产环境使用此模块!
47+
:::
4248

4349
`DevtoolsModule` 导入完成且应用启动运行后(`npm run start:dev`),您应当能够访问 [Devtools](https://devtools.nestjs.com) 网址并查看自省生成的图谱。
4450

4551
![](/assets/devtools/modules-graph.png)
4652

47-
> info **提示** 如上方截图所示,每个模块都连接到 `InternalCoreModule``InternalCoreModule` 是一个始终被导入根模块的全局模块。由于它被注册为全局节点,Nest 会自动在所有模块与 `InternalCoreModule` 节点之间创建连接边。现在,若要从图中隐藏全局模块,可以使用侧边栏中的" **隐藏全局模块** "复选框。
53+
:::info 提示
54+
如上方截图所示,每个模块都连接到 `InternalCoreModule``InternalCoreModule` 是一个始终被导入根模块的全局模块。由于它被注册为全局节点,Nest 会自动在所有模块与 `InternalCoreModule` 节点之间创建连接边。现在,若要从图中隐藏全局模块,可以使用侧边栏中的" **隐藏全局模块** "复选框。
55+
:::
4856

4957
由此可见,`DevtoolsModule` 会让你的应用暴露一个额外的 HTTP 服务器(运行在 8000 端口),Devtools 应用将通过该端口来内省你的应用程序。
5058

@@ -54,11 +62,15 @@ export class AppModule {}
5462

5563
要聚焦特定节点,点击矩形框后图形界面会弹出包含 **"聚焦"** 按钮的窗口。您也可以使用侧边栏的搜索栏来定位特定节点。
5664

57-
> info **提示** 如果点击**检查**按钮,应用程序将带您进入 `/debug` 页面并自动选中该特定节点。
65+
:::info 提示
66+
如果点击**检查**按钮,应用程序将带您进入 `/debug` 页面并自动选中该特定节点。
67+
:::
5868

5969
![](/assets/devtools/node-popup.png)
6070

61-
> info **提示** 要将图表导出为图片,请点击图表右上角的**导出为 PNG** 按钮。
71+
:::info 提示
72+
要将图表导出为图片,请点击图表右上角的**导出为 PNG** 按钮。
73+
:::
6274

6375
使用位于侧边栏(左侧)的表单控件,您可以控制边的接近度,例如可视化特定的应用程序子树:
6476

@@ -70,7 +82,11 @@ export class AppModule {}
7082

7183
#### 排查"无法解析依赖项"错误
7284

73-
> **注意** 此功能支持 `@nestjs/core` 版本 ≥`v9.3.10`
85+
:::info 注意
86+
此功能支持 `@nestjs/core` 版本 ≥`v9.3.10`
87+
:::
88+
89+
7490

7591
您可能遇到的最常见错误消息是关于 Nest 无法解析提供者依赖项的问题。使用 Nest Devtools,您可以轻松识别问题并学习如何解决它。
7692

@@ -114,7 +130,9 @@ const app = await NestFactory.create(AppModule, {
114130

115131
![](/assets/devtools/routes.png)
116132

117-
> info **提示** 此页面不仅显示 HTTP 路由,还包括所有其他类型的入口点(例如 WebSockets、gRPC、GraphQL 解析器等)。
133+
:::info 提示
134+
此页面不仅显示 HTTP 路由,还包括所有其他类型的入口点(例如 WebSockets、gRPC、GraphQL 解析器等)。
135+
:::
118136

119137
入口点按其宿主控制器分组显示。您也可以使用搜索栏查找特定入口点。
120138

@@ -134,7 +152,11 @@ const app = await NestFactory.create(AppModule, {
134152

135153
![](/assets/devtools/sandbox-table.png)
136154

137-
> **提示** :要美观地显示对象数组,可使用 `console.table()`(或直接使用 `table()`)函数。
155+
:::info 提示
156+
要美观地显示对象数组,可使用 `console.table()`(或直接使用 `table()`)函数。
157+
:::
158+
159+
138160

139161
您可以通过这个视频查看**交互式演练场(Interactive Playground)** 功能的实际应用:
140162

@@ -152,7 +174,9 @@ const app = await NestFactory.create(AppModule, {
152174

153175
![](/assets/devtools/audit.png)
154176

155-
> info **提示** 上面的截图并未显示所有可用的审计规则。
177+
:::info 提示
178+
上面的截图并未显示所有可用的审计规则。
179+
:::
156180

157181
当您需要识别应用程序中的潜在问题时,本页面非常有用。
158182

@@ -165,7 +189,9 @@ await app.listen(process.env.PORT ?? 3000); // OR await app.init()
165189
fs.writeFileSync('./graph.json', app.get(SerializedGraph).toString());
166190
```
167191

168-
> info **提示**`SerializedGraph` 是从 `@nestjs/core` 包中导出的。
192+
:::info 提示
193+
`SerializedGraph` 是从 `@nestjs/core` 包中导出的。
194+
:::
169195

170196
然后你可以拖放/上传这个文件:
171197

docs/faq/errors.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
#### "无法解析依赖项"错误
66

7-
> info **提示** 查看 [NestJS Devtools](./devtools/overview#调查无法解析依赖项错误) 可以帮助您轻松解决"无法解析依赖项"错误。
7+
:::info 提示
8+
查看 [NestJS Devtools](./devtools/overview#调查无法解析依赖项错误) 可以帮助您轻松解决"无法解析依赖项"错误。
9+
:::
810

911
最常见的错误消息是关于 Nest 无法解析提供者的依赖项。错误消息通常如下所示:
1012

docs/faq/global-prefix.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@ app.setGlobalPrefix('v1', {
2121
app.setGlobalPrefix('v1', { exclude: ['cats'] });
2222
```
2323

24-
> info **提示** `path` 属性支持使用 [path-to-regexp](https://github.com/pillarjs/path-to-regexp#parameters) 包进行通配参数匹配。注意:这里不接受星号通配符 `*`,而必须使用参数形式(`:param`)或命名通配符(`*splat`)。
24+
:::info 提示
25+
`path` 属性支持使用 [path-to-regexp](https://github.com/pillarjs/path-to-regexp#parameters) 包进行通配参数匹配。注意:这里不接受星号通配符 `*`,而必须使用参数形式(`:param`)或命名通配符(`*splat`)。
26+
:::
27+

0 commit comments

Comments
 (0)