본문 바로가기

Backend/NestJS

NestJs에서 ReferenceError: Request is not defined 에러 발생시 해결방법 (feat. express)

문제 상황

NestJs를 이용하여 클라이언트 > 서버로 HTTP 요청 객체(req)를 보내려고 했는데 계속 

ReferenceError: Request is not defined 라는 에러가 발생했다. 무언가 참조가 안되고 있는 것 같았다. 

 

문제 코드와 상황 

app.controller.ts 파일에서 express 요청에 대한 import가 없는 상황이었다. 

 

해결 방법 

HTTP에 대한 요청이 들어갈때마다(브라우저에서 새로고침) 인텔리제이 콘솔창에서 아래와 같은 요청값이 출력되었다. 

body: {},
  route: Route { path: '/', stack: [ [Layer] ], methods: { get: true } },
  [Symbol(kCapture)]: false,
  [Symbol(kHeaders)]: {
    host: 'localhost:3000',
    connection: 'keep-alive',
    'cache-control': 'max-age=0',
    'sec-ch-ua': '"Not_A Brand";v="99", "Google Chrome";v="109", "Chromium";v="109"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"macOS"',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
    accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'sec-fetch-site': 'none',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-user': '?1',
    'sec-fetch-dest': 'document',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7',
    cookie: 'Idea-cbc3c679=806d7208-5dce-4a0c-9afd-2c379c43afd3; _ga=GA1.1.523111199.1673592705; _ga_MFZBL8E909=GS1.1.1673600652.2.1.1673602190.0.0.0',
    'if-none-match': 'W/"c-Lve95gjOVATpfV8EL5X4nxwjKHE"'
  },
  [Symbol(kHeadersCount)]: 34,
  [Symbol(kTrailers)]: null,
  [Symbol(kTrailersCount)]: 0,
  [Symbol(RequestTimeout)]: undefined
}

 

app.controller.ts 전체 코드