Programming/React

cra 로 생성한 프로젝트에 빌드시 콘솔로그 코드 모두 제거하기 (eject 사용안함)

web data 2025. 2. 26. 19:45

cra 생성한 프로젝트에 babel 재정의 하여 빌드시 콘솔로그 코드 모두 제거 (eject 사용안함)

 

 

1. 관련 컴포넌트 설치
npm i -D customize-cra react-app-rewired babel-plugin-transform-remove-console

 

2. package.json 파일 내 react-scripts 를 react-app-rewired 로 변경

 

"scripts": {
 "start": "react-app-rewired start",
 "build": "react-app-rewired build",
 "test": "react-app-rewired test",
 "eject": "react-scripts eject"
}

 

3. 프로젝트 루트에 config-overrides.js 파일 생성 (아래 내용으로)
const { override, useBabelRc } = require('customize-cra');
if(process.env.REACT_APP_MODE === 'prd') {   // prd 모드인경우만 적용되도록 설정 (env 파일에 REACT_APP_MODE 가 설정되어야 함)
  module.exports = override(useBabelRc());
}

 

4. 프로젝트 루트에 .babelrc 파일 생성 (아래 내용으로)
{
    "plugins": ["transform-remove-console"]
}

끝.