@@ -14,9 +14,9 @@ Nestjs 是我见过的,将 Typescript 与 Nodejs Framework 结合的最好的
14
14
15
15
Nestjs 不是一个新轮子,它是基于 Express、socket.io 封装的 nodejs 后端开发框架,对 Typescript 开发者提供类型支持,也能优雅降级供 Js 使用,拥有诸多特性,像中间件等就不展开了,本文重点列举其亮点特性。
16
16
17
- ## 2.1 Modules, Controllers, Components
17
+ ## 2.1 Modules, Controllers, Providers
18
18
19
- Nestjs 开发围绕着这三个单词,Modules 是最大粒度的拆分,表示应用或者模块。Controllers 是传统意义的控制器,一个 Module 拥有多个 Controller。Components 一般用于做 Services,比如将数据库 CRUD 封装在 Services 中,每个 Service 就是一个 Component 。
19
+ Nestjs 开发围绕着这三个单词,Modules 是最大粒度的拆分,表示应用或者模块。Controllers 是传统意义的控制器,一个 Module 拥有多个 Controller。Providers 一般用于做 Services,比如将数据库 CRUD 封装在 Services 中,每个 Service 就是一个 Provider 。
20
20
21
21
## 2.2 装饰器路由
22
22
@@ -50,7 +50,7 @@ export class UsersController {
50
50
51
51
## 2.3 模块间依赖注入
52
52
53
- Modules, Controllers, Components 之间通过依赖注入相互关联,它们通过同名的 ` @Module ` ` @Controller ` ` @Component ` 装饰器申明,如:
53
+ Modules, Controllers, Providers 之间通过依赖注入相互关联,它们通过同名的 ` @Module ` ` @Controller ` ` @Injectable ` 装饰器申明,如:
54
54
55
55
``` typescript
56
56
@Controller ()
@@ -61,7 +61,7 @@ export class UsersController {
61
61
```
62
62
63
63
``` typescript
64
- @Component ()
64
+ @Injectable ()
65
65
export class UsersService {
66
66
getAllUsers() {
67
67
return []
@@ -72,12 +72,12 @@ export class UsersService {
72
72
``` typescript
73
73
@Module ({
74
74
controllers: [ UsersController ],
75
- components : [ UsersService ],
75
+ providers : [ UsersService ],
76
76
})
77
77
export class ApplicationModule {}
78
78
```
79
79
80
- 在 ` ApplicationModule ` 申明其内部 Controllers 与 Components 后,就可以在 Controllers 中注入 Components 了:
80
+ 在 ` ApplicationModule ` 申明其内部 Controllers 与 Providers 后,就可以在 Controllers 中注入 Providers 了:
81
81
82
82
``` typescript
83
83
@Controller ()
0 commit comments