[Nest] 64896 - 2022. 10. 13. 오후 8:00:56 ERROR [ExceptionHandler] Nest can't resolve dependencies of the ScriptService (FirstRepository, SecondRepository, ThirdRepository, ?). Please make sure that the argument SentenceRepository at index [3] is available in the ScriptModule context.
Potential solutions: - If SentenceRepository is a provider, is it part of the current ScriptModule? - If SentenceRepository is exported from a separate @Module, is that module imported within ScriptModule? @Module({ imports: [ /* the Module containing SentenceRepository */ ] })
에러 내용 해석
Nest가 ScriptService에 ?에 해당하는 것의 의존성 주입을 할 수 없다는 뜻이다.
나는 Potential solutions 중 첫번째에 해당하는 간단한 오류였다.
ScriptModule에 SentenceRepository를 import하지 않고, ScriptService의 생성자에 추가했기 때문에 발생한 오류다.
인프런에서 제공하는 Nest.js 무료 강의. 다른 인프런 무료강의들처럼 유튜브로 배포된 영상을 강의형태로 모았다.
쉽고 재밌습니다.
강의 후기
🔎학습 내용
- Nest.js 기본 요소 설명(MVC 패턴에 대한 간략한 설명도) - 간단한 CRUD 구현 (DB 연결 X) - Pipe 이용(유효성 체크 등을 위한 미들웨어) - DB 연동 후 CRUD 수정(Postgresql & TypeORM) - JWT를 활용한 인증 로직 구현 - 게시물 접근 권한 로직 구현 - 그 외 (Log, Configuration)
🔎학습 시간
- 강의시간 : 약 10시간 - 공부시간 : 약 20시간
🔎수강 조건
- 웹 프레임워크(Express면 더 좋고)에 대한 기본적인 이해
이해가 없어도 들을 수 있는 난이도이기는 하지만, 기초적인 것을 다 설명해주시지는 않기 때문에 기본적인 이해는 필요할 것 같다.
🔎수강 대상
- Nest.js 기초를 빠르게 잡고 싶은 사람 - Express 개발자 (Nest 함 써보세요 편합니다 ^^)
주관적 평가
👍좋았던 점
1) 적당한 난이도 어렵지는 않지만 직접 프로젝트를 만들 수 있을 정도의 예제로 구성되어 있어 좋았다! 강의 수강 후 바로 개발 시작하면 될듯.
2) 깔끔한 구성
유튜브에 배포된 강의가 맞나 싶을 정도로 강의 구성이 깔끔했다.
3) 왜케 재밌지?
너무 재밌어가지고 밥 먹을 때도 자꾸 다음 강의 생각나고 그래서 하루 만에 다 들었다.
👎나빴던 점
버전 문제가 좀 있는데요, 강사님 깃에서 package.json, package.lock.json 그대로 복사해오면 해결되더라구요..
프로젝트 기술 스택을 Express에서 Nest.js로 옮기기 위해 급하게 들었던 강의. 아티클이랑 깃허브 리파지토리 뒤져서 그냥 시작할까하다가, 강의 한 번 들어보고 싶어서 들었는데 너무 잘한 선택이었다!
import dotenv from "dotenv";
// Set the NODE_ENV to 'development' by default
process.env.NODE_ENV = process.env.NODE_ENV || "development";
const envFound = dotenv.config();
if (envFound.error) {
// This error should crash whole process
throw new Error("⚠️ Couldn't find .env file ⚠️");
}
export default {
/**
* Your favorite port
*/
port: parseInt(process.env.PORT as string, 10) as number,
/**
* MongoDB URI
*/
mongoURI: process.env.MONGODB_URI as string,
};