사실 공식문서에 다 나와있다 ㅎ
갓 공식문서 링크 : https://docs.nestjs.com/
// aap.module.ts
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { MongooseModule } from '@nestjs/mongoose';
import { MemberModule } from './member/member.module';
import { AuthModule } from './auth/auth.module';
@Module({
imports: [
MemberModule,
AuthModule,
ConfigModule.forRoot(),
MongooseModule.forRoot(process.env.DB_HOST),
],
controllers: [],
providers: [],
})
export class AppModule {}
.env 파일경로는 기존 root 에다가 만들어주면 된다. 실수로 밖에다 둬서 ^^... 어이없이 시간을 허비했다요 ...
//.member/entity/member.entities.ts
...
export const MemberSchema = SchemaFactory.createForClass(Member);
스캐마에 이렇게 export 를 해줘야 사용할 수 있다 !
// member/member.modules.ts
@Module({
imports: [
MongooseModule.forFeature([{ name: Member.name, schema: MemberSchema }]),
forwardRef(() => AuthModule),
],
controllers: [MemberController],
providers: [MemberService, MemberRepository],
exports: [MemberService, MemberRepository],
})
export class MemberModule {}
여기에서 의존성주입으로 인해 클래스는 한방향으로 흘러야하기 때문에 imports 코드를 저렇게 작성해주었다 !
// auth/auth.module.ts
@Module({
imports: [
ConfigModule.forRoot(),
JwtModule.register({
secret: process.env.SECRET_KEY,
}),
forwardRef(() => MemberModule),
],
providers: [AuthService, JwtStrategy],
exports: [AuthService],
})
export class AuthModule {}
여기도 마찬가지로 한방향으로 흘러야하기 때문에 imports 를 저런식으로 작성해 주었다.
🦁 NestJs ... 재미있어...