TypeError: replaceAll is not a function 에러 해결

Jiumn·2023년 6월 26일
0

문제 상황

고객에게 입력 받은 시리얼 쿠폰 번호의 공백을 제거하려고 replaceAll을 사용했다.

그런데 개발 서버에 올렸을 때 replaceAll이 사용된 API를 요청했을 때 response가 오지 않고 pending(대기) 상태가 되었다.

대기 상태가 지나고 브라우저 콘솔에 CORS 에러가 찍혔다. 이 부분이 문제인가 싶어 또 한참을 찾았는데, CORS 문제는 아니라고 생각한 건 이미 이전부터 cors 라이브러리를 사용하고 option을 다음과 같이 허용해주고 있었기 때문이다.

const corsOptions = {
  origin: true,
  credentials: true,
};

해결

개발 서버가 올라간 ec2에서 pm2 log 명령어를 입력해 로그를 확인한 결과
다음과 같은 에러 메시지가 발생하고 있었다.

TypeError: replaceAll is not a function

구글링 결과 nodejs에는 replaceAll이 없다.
replace와 정규표현식을 함께 사용하라는 글을 보고 다음과 같이 수정했다.

serialNo.replace(/ /g, '')

공백(/ /)을 전역적으로(g) 검사해서 있으면 제거('')한다는 뜻이다.

profile
Back-End Wep Developer. 꾸준함이 능력이다. Node.js, React.js를 주로 다룹니다.

0개의 댓글