vue 프로젝트 생성은 해당 게시글을 참조하시면 됩니다.
이해가 안 되는 부분들은 공식 사이트를 참조하시면 많은 도움이 될 거 같습니다.
Vue Router, Vuex, Axios 설치
Vue Router
- 싱글 페이지 애플리케이션을 구현할 때 사용하는 라이브러리
Vuex
- vue.js 애플리케이션을 위한 상태 관리 패턴과 라이브러리
Axios
- 뷰에서 권고하는 Promise 기반의 HTTP 통신 라이브러리
- vue create로 생성한 프로젝트의 package.json을 보면 core-js, vue만 의존성이 추가된 것을 알 수 있다.
- 화면 제작에 앞서 뷰의 코어 라이브러리인 vue router, vuex와 axios를 설치한다.
- npm을 통해 설치한 후 package.json을 보면 의존성이 추가된 것을 확인할 수 있다.
Router 확인하기
- 기존의 HelloWorld.vue를 삭제하고 components폴더에 Simple.vue를 하나 생성한다. - 그리고 App.vue에 기존 내용을 삭제하고 router-view 태그만 작성해준다.
- src이하에 routes폴더를 만들고 route.js를 생성한 후 VueRouter를 등록해준다.
- 그 후 router 인스턴스를 하나 생성하고 routes에 path와 component를 설정할 수 있다.
- path가 '/'일 땐 /simple로 redirect 해주었다.
- 그 후 가장 하단에 export {router}를 통해 외부에서 사용 가능하게 해 준다.
- App.vue의 router-view가 routes에서 설정한 component를 보여준다.
- 그리고 마지막으로 main.js에 router를 등록해준다.
- npm run serve 후 브라우저를 통해 확인해보면 /simple로 redirect 되어 정상적으로 router가 동작하는 것을 알 수 있다.
MD Bootstrap Vue
- 간편한 반응형 디자인 개발을 위해 Bootstrap의 일종인 Material Design for BootStrap Vue를 사용할 것이다.
- Document
- 터미널에 vue add mdb를 입력하면 아래 빨간 박스와 같이 원하는 옵션을 선택하면 된다.
- Font Awesome과 Robot font도 사용할 예정이므로 추가해줬다.
- Simple.vue에 mdbBtn 컴포넌트를 추가하고 template을 위와 같이 작성하고 페이지를 확인해보면 정상적으로 MDBootstrap이 적용된 것을 알 수 있다.
로그인, 회원가입 화면 만들기
- 우선 라우터 간 이동을 하기 위한 Navbar를 MDB를 커스텀하여 하나 만들고 App.vue의 router-view위에 넣어줬다.
- 해당 문서를 보면 사용법이 자세히 설명되어 있다.
- UI framework를 이용하면 매우 간단하게 반응형 웹을 만들 수 있다.
- 위의 아이템 로그인, 회원가입을 클릭하면 각 화면으로 라우팅이 될 것이다.
- 이전에 만든 Simple.vue를 Main.vue로 변경하고 routes 설정도 그에 맞게 변경하였다.
- Login, Register vue를 생성하고 roter에 각 경로에 맞게 등록시켰다.
- 마지막으로 각 router에 name을 설정해주었는데 라우팅 시 path 경로가 아닌 이 이름 사용하여도 라우팅이 가능하다.
- 혹은 현재 라우팅 정보를 쉽게 알 수 있으므로 유용하다.
- Navbar의 template이다.
- 각 메뉴 태그를 router-link로 설정하고 to='/경로'로 설정할 것을 알 수 있는데 각 메뉴를 클릭하면 to에 등록된 경로로 라우팅 된다는 뜻이다.
- 그리고 :class도 동적으로 바인딩이 가능하다.
- 중괄호에서 오른쪽 부분이 참이면 왼쪽의 active가 클래스에 추가된다는 뜻이다.
- active 클래스가 활성화되면 해당 부분을 강조하여 유저가 현재 어느 경로에 있는지 쉽게 인지 가능하게 할 수 있다.
- 로그인, 회원가입 화면을 디자인하고 확인해보면 위와 같이 메뉴를 클릭했을 때 정상적으로 라우팅이 되며 로그인 라우터일 때 로그인이 강조되는 것을 알 수 있다.
'Study' 카테고리의 다른 글
SpringBoot와 Vue.js를 이용한 회원가입, 로그인 기능, 권한별 라우터 설정 (1) | 2020.01.04 |
---|---|
SpringSecurity OAuth CORS 문제 (0) | 2019.12.31 |
Spring Security OAuth 2.0, Jwt #2(Resource Server) (0) | 2019.12.26 |
Spring Security OAuth 2.0, Jwt #1(Authorization Server) (1) | 2019.12.23 |
OAuth 2.0, JWT (0) | 2019.12.22 |