배포 후 console 안보이게 하는 방법

배포 시, 개발하면서 디버깅을 위해 작성했던 모든 console 들을 제거하여 배포 한다.
console log 들이 남아있으면 성능 저하나 보안 문제가 될 수 있으니 제거해주는 것이 좋다.
모두 제거했다고 생각했지만, 미쳐 제거하지 못한 콘솔들도 있었고, 유지보수 시 다시 콘솔을 작성하고 제거하는 작업을 계속 했다.
이를 대비해서 배포 시 콘솔을 안보이게 해주는 설정이 있다.

next.config.mjs 파일에 config 안에 아래와 같이 작성.

1
2
3
4
5
compiler: {
  removeConsole: process.env.NODE_ENV === 'production' 
                ? { exclude: ['error'] }
                : false,
}
  • process.env.NODE_ENV === 'production'
    → 현재 환경이 프로덕션(배포용) 인지 확인.
  • { exclude: ['error'] }
    → console.log, console.warn, console.debug 등은 제거. console.error만 제외
  • false
    → 아무것도 제거하지 않음. but, 개발 할 땐 console.log 다 볼 수 있음.