본문 바로가기

개발/NestJS23

[NestJS] mail 발송(Gmail,nodeMailer) 설치법 yarn add @nestjs-modules/mailer nodemailer #or npm install --save @nestjs-modules/mailer nodemailer 만약 template을 사용하려면 셋 중에 하나를 다운 받아야 한다. // with npm npm install --save handlebars #or npm install --save pug #or npm install --save ejs // with yarn yarn add handlebars #or yarn add pug #or yarn add ejs 일단 모듈 구현 코드 먼저 보면서 설명을 하겠다. // email.module.ts import { Module } from "@nestjs/common"; impo.. 2022. 12. 1.
[NestJS] CORS 설정과 주의할 점(preflight) 설정하기에 앞서 CORS란 무엇인가부터 간략하게 알아보자 CORS란 교차 출처 리소스 공유(Cross-Origin Resource Sharing)의 약자이고 출처가 다른 자원들을 공유한다는 것인데 웹 애플리케이션에서는 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청이 발생한다. 요약하자면 CORS 설정을 통해 서버로 접근할 수 있는 자원을 통제한다고 보면 되고 이를 하지 않는다면 아무나 서버로 API 요청을 하고, 중요한 정보가 탈취당하거나 삭제되는 불상사가 발생할 것이다. https://developer.mozilla.org/ko/docs/Web/HTTP/CORS 교차 출처 리소스 공유 (CORS) - HTTP | MDN 교차 출처 리소스 공유(Cross-Origin.. 2022. 11. 26.
[NestJs] 순환 종속성(Circular Dependency) 에러 A circular dependency between modules. Use forwardRef() to avoid it. Read more: https://docs.nestjs.com/fundamentals/circular-dependency 위 에러코드에 url은 순환 종속성을 해결하게 해주는 방법을 제공하는 NestJs 공식 url이다. 개발하면서 서버를 띄우면 종종 이런 에러가 발생하곤 한다. 과연 Circular Dependency라고 하는 이 녀석은 무엇일까? 바로 순환 종속성이라고 불리며 예를 들어 클래스 A에 클래스 B가 필요하고 클래스 B에 클래스 A가 필요하면 발생하며 클래스 A 클래스 B 이런 관계를 형성하고 있다고 보면 된다. 결국 A가 초기화되기도 전에 B가 A를 의존하기 때문에 .. 2022. 10. 23.
TypeError: Class extends value undefined is not a constructor or null NestJS에서 테스트 코드를 작성하다가 발생한 에러이며 내가 발생한 상황에 대한 글은 하나도 없어서 나 같은 어려움을 겪고 있는 분들을 돕고자 작성한다! 회사 코드에 테스트 코드를 적용하기 위해 공부하면서 적용하던 중 에러를 만나게 되었는데 처음에는 도무지 감이 잡히지 않았으나 회사 코드를 다시 파악하던 중 나는 상속이 문제일 거 같다는 가설을 내리고 문제를 해결하려고 했다. 일단 이해를 위한 회사 엔티티 설계를 보여주려고 한다. 나 같은 경우는 엔티티에 공통으로 들어가는 것들을 편하게 작업하기 위해서 밑에 이미지와 같이 모든 엔티티에 반영될 생성일, 업데이트일, 삭제일을 공통 엔티티로 따로 빼서 상속을 하는 편이고 또한 생성될 때 누가 만들었는지 가 중요한 엔티티에서는 이렇게 다른 작성자가 같이 들어.. 2022. 9. 27.