1、文件目录结构
2、代码
controller
import {Controller, Get} from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
2、service
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
console.log("CCCTTT")
return 'Hello World!';
}
}
3、main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
4、module
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
3、注意
1、service中@Injectable装饰器写不写,controller都可以找到所依赖的service
2、module文件providers数组中不注册service,程序直接无法启动,找不到controller所依赖的service
3、封装模块
使用@module装饰器,将controller和provider封装成一个模块。
4、共享模块
可以只导出service,其他模块import service,实现对service的复用。
5、全局模块