在 Nest 应用面,我们可以把控制器上的一些比较复杂的逻辑拿出来单独放在一些叫 Service 的东西里面,Service 就是服务,服务的意思就是能帮我们做一些事情的东西, 创建的服务可以注入到控制器里使用。
创建服务可以使用 nest 命令, 打开终端,在项目下面,执行 nest generate ,生成一个 service ,服务的名字可以叫 demo,放在 posts/providers 目录的下面 , 执行一下。
命令给我们创建了一个叫 demo 的服务还有一个对应的测试, 放在了 posts/providers/demo 这个目录的下面。
回到项目,找到刚才创建的服务, demo.service.ts。服务其实就是一个普通的类,只不过这个类要用 @Injectable 装饰器装饰一下。
这个装饰器给这个类添加了一些东西,这样 Nest 就知道这个类是一个 Nest Provider。
有了服务以后,还得在模块里声明一下,暂时我们的应用里面只有一个 Root 模块,就是这个 app 模块。打开它,你会发现,在这个模块的 providers 里面,已经添加了刚才创建的 DemoService。