一般在模块里配置 Provider 的时候,设置的 token 就是一个类,这个 token 的值也可以是字符串,或者 Symbol,比如我们把这个 token 的值换成一个字符串,LOGGER。
在 AppService 里面要注入刚才配置的依赖,但是现在这个 Provider 的 token 是一个字符串,注入这种依赖,需要使用一个 @Inject 装饰器,这个装饰器来自 @nestjs/common 。
给这个装饰器提供一个参数,参数的值就是要注入进来的 Provider 的 token ,这里应该就是 LOGGER。
在 Http 客户端,访问一下应用的根,如果一切正常,会在运行项目开发服务的终端上,输出一条信息。这里并没有输出任何东西。
这是因为,AppService 这个 Provider ,现在用的是一个值,这个值是 mockAppService。删除掉上面定义的 mockAppService, 配置 Provider 的时候,用一下 useClass,要使用的类是 AppService。
回到 Http 客户端,重新访问一下应用的根,然后再回到终端预览一下,这回在这里会输出一下 AppService:Hello World! 这条信息。 说明我们成功的在 AppService 这个服务里面,注入了 LOGGER 这个依赖。