实现我们先创建一个nest 项目
nest new provider
1、provider的基础用法解释
首先我们打开一下项目下的文件(app.service.ts) 可以看到可以看到 AppService 是被 @Injectable 修饰的 class
接着我们打开 app.module.s 可以看到 Module 的 providers 里声明了 AppService,这就是provider 如下图
其实 AppService 是一种简写方式 完整的方式如下:
provide 指定 token
useClass 指定对象的类,Nest 会自动对它做实例化后用来注入
接着我们看 app.controller.ts 在这个文件里面 AppController 的构造器里参数里声明了 AppService 的依赖,就会自动注入 如下图
此处有两种注入方式:
构造器注入 也就是上图的
constructor(private readonly appService: AppService) {
}
属性注入
@Inject(AppService