[React Template]
React Template을 활용하여 Cloud Native Application의 Frontend 서비스를 빠르게 구현해보세요.
구분 | 설명 | 링크 |
---|---|---|
Full Version | React-Redux, Babel, Webpack 기술을 이용한 Frontend 템플릿 | 바로가기 |
Skeleton Version | Semantic UI를 활용한 Frontend 템플릿 | 바로가기 |
프로젝트 구조
개발관련
node_modules
: npm install 시 설치되는 module이 저장되는 폴더public
: react app의 가장 root가 되는 element가 위치하는 index.html이 위치하는 폴더src
: application 관련 코드가 위치components
: 컴포넌트 형태의 component가 위치 (컴포넌트 형태는 주로 redux연결 없이 단순 view를 목적으로 하는 경우가 많다. presentational components라고도 함)containers
: 컨테이너 형태의 component가 위치 (components 폴더에 선언한 여러 컴포넌트들을 조합해서 완성된 형태를 보여주는 것을 컨테이너라고 한다. props관리를 위해 redux가 connect되는 레벨)lib
: 프로젝트 자체적으로 필요한 user-custom module이 위치하는 폴더 (날짜 formatter, session storage control 등)modules
: state상태 관리를 위한 reducer가 위치하는 폴더 (reducer + action 형태로 선언/관리 된다)routes
: url 이동정보 (인증 필요/불필요로 구분)style
: css파일이 위치한 폴더App.js
: application의 시작점 jsindex.js
: react의 root dom이 그려지는 js. 화면의 전체구조를 정의package.json
: 현재 프로젝트의 정보 파일webpack.config.dev.js
: 개발 진행 시 프로젝트 설정파일webpack.config.js
: 운영 배포 시 프로젝트 설정파일
설정관련
babelrc
: 바벨 설정파일gitignore
: github commit시 제외할 항목을 설정하는 파일Dockerfile
: docker 설정파일Jenkinsfile
: Jenkins 설정파일nginx.conf
: nginx 설정파일
주요 사용 모듈
Front end 개발 시 주로 사용하는 모듈은 아래와 같으며, 추가적인 모듈이 필요한 경우 npm install 을 통해 설치하고 import하여 사용할 수 있습니다.
react
: react view를 만들기 위한 라이브러리react-dom
: react를 브라우저에 rendering 할 때 사용되는 라이브러리redux
: redux 사용을 위한 라이브러리react-redux
: redux를 react컴포넌트에 연결하기 위해 사용되는 라이브러리react-router-dom
: 화면 이동을 위해 설정 및 사용하는 라이브러리redux-actions
: action 생성을 편리하도록 해주는 라이브러리immutable
: object의 생성 및 변경을 편리하게 할 수 있게 하는 라이브러리 (항상 new object를 return)lodash
: object의 형태 변형을 편리하게 할 수 있게 하는 라이브러리axios
: Rest 비동기 호출을 위해 사용하는 모듈
개발 시 유의점
Axios
- GET, POST, PUT, DELETE 사용시 parameter 전달은 각각의 옵션에 맞게 전달합니다
(ex POST 사용하는데 url에 parameter 전달 X) - Headers에
Pragma : 'no-cache'
명령어는 ie 에서 오류를 방지하는 것 이므로 항상 포함시키도록 해야합니다 - 기본형태는
then / catch
형태로 사용. Finally는 꼭 필요 시에만 사용합니다