인프런 커뮤니티 질문&답변

kql 1님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

08-02 Nest.js & GraphQL

인젝션 스코프 에러

해결된 질문

작성

·

173

0

 @injection() 안에 {scope:scope.)라고 입력하면 default,request,transient 를 선택하는 칸이 안 뜨고

sco 라고 입력한 이 상태에서 ctrl +I 눌러도 scope가 안 나와요

답변 1

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! kql1님!

인젝션 스코프는 @Injectable() 안에 중괄호로 입력하실 수 있어요!
ex) @Injectable({ scope: 0 }) // DEFAULT
ex) @Injectable({ scope: 1 }) // TRANSIENT
ex) @Injectable({ scope: 2 }) // REQUEST

하지만, 우리가 0, 1, 2 이런 숫자를 외우기는 힘들겠죠?!
따라서, nestjs에서 Scope라는 객체를 제공해줍니다!(정확히는 enum 이에요!)

해당 enum을 import해서 사용하셔야해요!
아래와 같이 import해보세요!^^
import { Scope } from '@nestjs/common'

최종적으로 저 Scope안에 들어있는 값이 0, 1, 2라는 숫자로 바뀌어서 적용되게 된답니다!

최종결과: @Injectable({ scope: Scope.DEFAULT })

kql 1님의 프로필 이미지
kql 1
질문자

감사합니다!

import { Scope } from '@nestjs/common' 을 입력하니까 나왔어요

kql 1님의 프로필 이미지

작성한 질문수

질문하기