이 프로젝트는 React를 사용한 웹페이지 개발을 위한 기본 뼈대 코드입니다.
react-webapp-skeleton/
├── public/
│ └── index.html # HTML 템플릿
├── src/
│ ├── components/ # React 컴포넌트들
│ │ ├── Header.js # 헤더 컴포넌트
│ │ ├── MainContent.js # 메인 콘텐츠 컴포넌트
│ │ └── Footer.js # 푸터 컴포넌트
│ ├── App.js # 메인 App 컴포넌트
│ ├── App.css # App 스타일
│ ├── index.js # 진입점
│ └── index.css # 전역 스타일
├── package.json # 프로젝트 설정 및 의존성
├── webpack.config.js # Webpack 설정
├── .babelrc # Babel 설정
└── README.md # 이 파일
- Node.js (버전 14 이상)
- npm (Node.js와 함께 설치됨)
npm installnpm start또는
npm run dev개발 서버가 실행되면 자동으로 브라우저에서 http://localhost:3000이 열립니다.
npm run build빌드된 파일들은 dist/ 폴더에 생성됩니다.
- Hot Reload: 코드 변경 시 자동으로 브라우저가 새로고침됩니다.
- 포트: 기본적으로 3000번 포트를 사용합니다.
- 자동 열기: 개발 서버 실행 시 자동으로 브라우저가 열립니다.
- 메인 애플리케이션 컴포넌트
- Header, MainContent, Footer 컴포넌트를 조합
- Header.js: 네비게이션 메뉴가 포함된 헤더
- MainContent.js: 메인 콘텐츠 영역 (상호작용 예시 포함)
- Footer.js: 푸터 영역
- Webpack 설정 파일
- 개발 서버, Babel, CSS 로더 설정 포함
- Babel 설정 파일
- React JSX 및 ES6+ 문법 변환 설정
- 모던하고 반응형 디자인
- CSS Grid와 Flexbox 사용
- 호버 효과 및 부드러운 전환 애니메이션
- 모바일 친화적 반응형 레이아웃
npm start로 개발 서버 실행- 브라우저에서
http://localhost:3000접속 - 다음 기능들이 정상 작동하는지 확인:
- 페이지 로딩
- 네비게이션 메뉴 호버 효과
- 카운터 버튼 (증가/감소/리셋)
- 반응형 레이아웃 (브라우저 크기 조절)
npm run build로 프로덕션 빌드 생성dist/폴더의 파일들을 웹 서버에 배포하여 테스트
다른 포트를 사용하려면 webpack.config.js의 devServer.port 값을 변경하세요.
# npm 캐시 정리
npm cache clean --force
# node_modules 삭제 후 재설치
rm -rf node_modules
npm install- Node.js 버전이 14 이상인지 확인
package.json의 의존성 버전 확인
- 새로운 컴포넌트는
src/components/폴더에 생성 - 스타일은 각 컴포넌트별로 CSS 파일을 만들거나
App.css에 추가 - 새로운 페이지나 라우팅이 필요한 경우 React Router 추가 고려
- 상태 관리가 복잡해지면 Context API 또는 Redux 도입 고려
- React Router를 사용한 다중 페이지 구현
- Context API를 사용한 전역 상태 관리
- API 연동을 위한 axios 추가
- 폼 처리를 위한 라이브러리 추가
- UI 컴포넌트 라이브러리 (Material-UI, Ant Design 등) 도입
- TypeScript 도입
- 테스트 프레임워크 (Jest, React Testing Library) 추가
- 이 저장소를 포크합니다
- 새로운 기능 브랜치를 생성합니다 (
git checkout -b feature/새기능) - 변경사항을 커밋합니다 (
git commit -am '새기능 추가') - 브랜치에 푸시합니다 (
git push origin feature/새기능) - Pull Request를 생성합니다
Happy Coding! 🎉