[prismagram] [FrontEnd] 1. create-react-app
업데이트:
모든 내용은 MacOS Bigsur 기준으로 작성되었습니다
1. CRA (Create React App)
리액트 웹앱을 활용하여 제작할 예정이므로 CRA를 통해 프로젝트를 생성해 주어야 합니다.
먼저, github에 Repository를 만든 후 프로젝트를 생성합니다.
npx create-react-app prismagram-frontend
2. Clean Up
프로젝트를 생성하였으면 순서대로 프로젝트를 정리해줍니다.
- App.js를 제외한 파일을 모두 제거한 뒤 src/components 폴더를 생성합니다.
- styled-components, react-router-dom, graphql, react-apollo-hooks, apollo-boost, react-helmet, react-toastify를 추가합니다.
yarn add styled-components react-router-dom graphql react-apollo-hooks apollo-boost react-helmet react-toastify
- src/styles 폴더를 생성합니다.
- styles 폴더 내에 GlobalStyles.js, Theme.js 파일을 추가합니다. 공통적으로 해당되는 스타일과 테마를 지정하게 도와줍니다.
3. GlobalStyles.js
기본적으로 적용될 스타일을 추가합니다.
import { createGlobalStyle } from "styled-components";
import reset from "styled-reset";
export default createGlobalStyle`
${reset};
* {
box-sizing:border-box;
}
`;
4. Theme.js
공통으로 사용될 리소스들을 테마에 추가합니다.
const BOX_BORDER = "1px solid #e6e6e6";
const BORDER_RADIUS = "4px";
export default {
bgColor: "#FAFAFA",
blackColor: "#262626",
darkGreyColor: "#999",
lightGreyColor: "#c7c7c7",
redColor: "#ED4956",
blueColor: "#3897f0",
darkBlueColor: "#003569",
whiteBox: `${BOX_BORDER};
${BORDER_RADIUS};
background-color:white;
`,
};
5. App.js
컴포넌트와 테마를 불러옵니다. 실행이 잘 되는지 테스트해봅시다.
import { ThemeProvider } from "styled-components";
import GlobalStyles from "../Styles/GlobalStyles";
import Theme from "../Styles/Theme";
export default () => (
<ThemeProvider theme={Theme}>
<GlobalStyles />
안녕
</ThemeProvider>
);
댓글남기기