Vue3 에서
Ui Framework인 Vuetify 나 BootstrapVue , Quasar 에 대해 이야기하고
그중 Quasar에 대해 좀 다뤄보고자 한다.
재사용 가능한 UI 요소(컴포넌트)를 제공하는 패키지
https://npmtrends.com/bootstrap-vue-vs-quasar-vs-vuetify
vue.js 기반의 Material Design 컴포넌트 프레임워크.
Bootstrap v4의 컴포넌트와 그리드 시스템을 Vue.js에서 사용할 수 있도록 해주는 라이브러리.
Vue.js 기반의 크로스 플랫폼 프레임워크.
여기에서
Vuetify와 Bootstrap Vue는 Vue2 에서 Vue3 로 변경되는 과정에서 컴포넌트 호환문제가 발생했다.
등이 있었다.
하지만 작년 말까지만 해도 이러한 호환성에 문제들이 현재 24년 3월 다시 돌아보면 점진적으로 다 수정되었다. validate()라던가 validate()라던가 validate()라던가 (Vuetify 만 확인 Bootstrap Vue는... 확인해봐야한다.)
https://vuetifyjs.com/en/introduction/roadmap/
그리고 지금도 꾸준히 Vuetify는 업데이트 되고 있다.
개인적으로 지금 와서 다시 UI Framework를 선택하라고 하면 Quasar나 Vuetify 둘중 하나일텐데 아무래도 참조할게 많은 Vuetify 이 녀석 보장된 맛집... 크흠...
하지만 지난 프로젝트에서 Quasar를 사용하였기 때문에 조금 Quasar에 대해 설명하려고 한다.
npm init vue@latest
npm i -g @quasar/cli
# npm init quasar 빠른시작
quasar create <project_name>
npm i -g @quasar/cli
quasar dev
quasar build
기존 vue 와 파일 구성도 다른다.
우리가 흔히 만들어서 사용하는 vue의 main.js를 좀더 세분화 해서 아용하는 quasar.config.js 가 있다.
그외 사용법은 vue와 다른점이 없다. 동일하지만 파일 경로를 조금 주의하고자 한다.
예를들어 quasar 개발자들은 vuex보다 pinia를 선호한다.
(물론 둘다 사용 가능) vuex를 사용하면 store 폴더가 생성되고 pinia를 사용하면 stores가 생성된다.
quasar new store <store_name>
또한 전역 css나 scss는 /src/css/ 에 위치해야하고
프로젝트가 실행될때 설정되어야하는 것들은 /src/boot/ 에 위치해야한다.
quasar.config.js 에서 경로를 변경해줬지만 인식하지 못한다.
https://github.com/GyeongNam/Space-FrontEnd
큰 내용은 없지만 참고하실 분은 참고하시길...
아무래도 Quasar는 Vuetify에 비해 자료가 많이 부족해서 quasar.dev의 docs 를 보면서 만들었다.