오늘은 react-app-rewired 설정을 통해 React 프로젝트의 빌드 파일 구조를 커스터마이징하고, 필요에 따라 react-app-rewired를 삭제한 후 빌드 파일 정리까지 하는 과정을 알아보고자 합니다.
1. react-app-rewired 설정하기
React 프로젝트에서는 기본적으로 create-react-app을 사용하면 빌드 파일의 구조가 고정되어 있습니다. 이때, react-app-rewired를 사용하면 Webpack 설정을 수정할 수 있습니다.
1.1 react-app-rewired 설치
먼저 프로젝트 루트 경로에서 다음 명령어를 실행하여 react-app-rewired와 customize-cra를 설치합니다.
npm install react-app-rewired customize-cra --save-dev
1.2 config-overrides.js 파일 생성
프로젝트 루트 디렉터리에 config-overrides.js 파일을 생성하고, 다음과 같이 Webpack 설정을 수정합니다.
const path = require('path');
module.exports = function override(config, env) {
if (env === 'production') {
// 빌드 output 경로 및 파일 이름 설정
config.output = {
...config.output,
path: path.resolve(__dirname, 'build'),
filename: 'js/[name].[contenthash:8].js',
publicPath: '/',
};
// CSS 파일의 경로 및 이름 설정
const miniCssPlugin = config.plugins.find(
(plugin) => plugin.constructor.name === 'MiniCssExtractPlugin'
);
if (miniCssPlugin) {
miniCssPlugin.options.filename = 'css/[name].[contenthash:8].css';
}
}
return config;
};
1.3 package.json 수정
React의 빌드, 시작 스크립트를 react-app-rewired로 변경합니다.
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test"
}
2. 빌드 파일 정리: static 폴더 삭제하기
빌드 후 static 폴더 내부의 불필요한 파일을 삭제하고 싶다면 rimraf를 사용하여 자동으로 삭제할 수 있습니다.
2.1 rimraf 설치
rimraf는 Node.js 환경에서 파일과 폴더를 삭제할 수 있는 유틸리티입니다. 다음 명령어로 설치합니다.
npm install rimraf --save-dev
'REACT' 카테고리의 다른 글
Chrome DevTools와 Lighthouse로 성능 최적화 해보기 (0) | 2025.07.25 |
---|---|
React에서 component.jsx와 index.js가 함께 존재하는 이유 (0) | 2025.02.27 |
[REACT] List와 Key (0) | 2025.01.02 |
[REACT] 조건부 렌더링(Conditional Rendering) (1) | 2024.12.31 |
[REACT] EVENT (0) | 2024.12.29 |