이 프로젝트는 React를 사용하여 모바일과 PC 환경 모두 지원하는 웹 애플리케이션을 쉽게 개발할 수 있도록 설계된 오픈소스 템플릿입니다.
반응형 디자인과 유연한 라우팅 시스템을 통해 다양한 디바이스에서 일관된 사용자 경험을 제공합니다.
![examples](https://private-user-images.githubusercontent.com/118183190/356892051-b24364ea-6d3f-468a-8281-95b1256c90b7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTAzMzMsIm5iZiI6MTczOTk1MDAzMywicGF0aCI6Ii8xMTgxODMxOTAvMzU2ODkyMDUxLWIyNDM2NGVhLTZkM2YtNDY4YS04MjgxLTk1YjEyNTZjOTBiNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxOVQwNzI3MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lMDY3OGEyYTM5ODExOThiMGU2ZGQwNjc3ZTY1ZWNjODE4M2ZjNzExNDg4Y2IzMTZhMjZmNzQyNTE1MDMyYjdjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ZktTs6aytyzlSPJmQ5rs8m3vr_gFAkdFklcw7X0awh4)
- React와 React Router를 활용한 SPA(Single Page Application) 구조
- 모바일 및 PC 환경 동시 지원
- 중앙 집중식 라우팅 관리
- 동적 레이아웃 컨트롤
- styled-components를 이용한 스타일링
- 이 저장소를 클론합니다
git clone https://github.com/your-username/react-mobile-pc-view.git
- 프로젝트 디렉토리로 이동합니다
cd react-mobile-pc-view
- 필요한 패키지를 설치합니다
npm install
- 개발 서버를 실행합니다
npm start
src/App.js
: 애플리케이션의 메인 컴포넌트src/routes.js
: 모든 라우트 정의src/styles/Mobile.js
: 모바일 레이아웃 컴포넌트src/pages/
: 각 페이지 컴포넌트들
-
src/pages/
디렉토리에 새 컴포넌트 파일을 생성합니다. -
src/routes.js
파일에 새 라우트를 추가합니다:
import NewPage from './pages/NewPage';
const routes = [
// ...기존 라우트들
{
path: '/new-page',
element: <NewPage />,
name: '새 페이지',
previous: '/',
footer: true,
},
];
- 필요한 경우 src/pages/Sitemap.js를 업데이트하여 새 페이지 링크를 추가합니다.
src/styles/Mobile.js
파일에서 전체 레이아웃 스타일을 수정할 수 있습니다.
각 페이지 컴포넌트에서 styled-components를 사용하여 페이지별 스타일을 정의할 수 있습니다.
현재 이 템플릿은 Iphone 13&14(width: 390px, height: 844px) 에 맞춰져 있습니다.
src/styles/Mobile.js
파일의 Container 컴포넌트에서 최대 너비를 조정하여 모바일과 PC 뷰를 제어할 수 있습니다.
다른 크기를 원하시면 Mobile.js
파일의 Content컴포넌트에서 max-width:390px;
속성을 원하는 크기로 변경해주시면 됩니다.
src/App.js
파일의 Container 컴포넌트에서 background-image: url('/backgroundImg.png');
속성의 url을 바꿔주시면 됩니다.
프로젝트 개선에 기여하고 싶으시다면 Pull Request를 보내주세요. 대규모 변경사항의 경우, 먼저 이슈를 열어 논의해 주시기 바랍니다.