Backend 프레임워크인 Spring Boot와 Frontend 프레임워크인 Vue.js의 연동방법에 대해 살펴보겠습니다. Vue.js와 Backend 프레임워크와의 연동방법은 다양하게 있으며 현재 프로젝트 상황에 맞게 연동하면 됩니다. 일반적인 방법으로 빌드시 생성되는 index.html 파일 하나만 두고 사용자 인증, 데이터 가져오기 등 모든 서버와의 통신은 WEB API 통신(REST API, GrapQL 등)으로 연동하는 방법입니다. 이 경우 기존의 렌더링 형태인 controller -> view(jsp, ejs 등 템플릿 엔진) 형태가 아니기 때문에 url 라우팅은 vue-router 등을 통해 처리해야 합니다. 프로젝트 구조 . ├── src/ # Spring 소스코드 디렉터리 │ └── m..
1. Vuetify 7천개 이상의 star를 받은 프로젝트로, Vuetifyjs는 메터리얼 디자인(material design) 스펙에 따른 UI 레이아웃을 제공합니다. v1.0 알파 버전은 80개의 재사용 가능한 컴포넌트들을 제공합니다. 2. Element 2만 1천개 이상의 star를 받은 가장 인기가 많은 프로젝트 중 하나로, Element는 다양한 커스터마이징 가능한 컴포넌트들을 제공합니다. 또한 다양한 생태계를 가지고 있어 차기 Vue UI 라이브러리로 선택해볼만 합니다. 3. Keen UI 3천개 이상의 star를 받은 Keen UI는 Material UI에 영감을 받아 만들어진 프로젝트로, 실제 Material UI 라이브러리는 아닙니다. CSS 프레임워크가 아니며 grid system 혹은..
Vue.js로 만든 어플리케이션이 규모가 커지게 되면 컴포넌트들을 분리함으로써 복잡성을 제어할 수 있습니다. 이를 통해 재사용성, 테스트 및 유지보수 용이라는 장점을 누릴 수 있습니다. 하지만 컴포넌트를 분리하면 각 컴포넌트 간의 통신은 더 불편해지게 됩니다. 이제 이벤트 버스(event bus)를 통해 이벤트 기반의 컴포넌트 간의 통신하는 방법을 살펴보겠습니다. Vue.js 이벤트 인터페이스 Vue.js에는 다음과 같은 이벤트 인터페이스가 존재합니다. $on(eventName) : 이벤트 감지 $emit(eventName) : 이벤트 트리거 동일 컴포넌트 내에서는 $on과 $emit을 이용하여 이벤트를 주고 받을 수 있습니다. 하지만 부모-자식 관계에서 $on을 이용하여 자식 컴포넌트에서 호출한 이벤트..