Quasar
vue.js 기반 MIT 라이선스 오프 소스 프레임워크.
다양한 유형의 반응형 웹 , 앱을 빠르게 만들 수 있음.
이 모든걸 Quasar에서 지원한다고?
완전 럭키퀘이사잖아 ? 🍀🩷
왜 Quasar ?
Quasar 설치
vue와 node는 설치되어 있다는 전제 하에 글을 작성한다.
아래 한 줄을 치면 나의 상황에 맞게 프로젝트를 설정할 수 있다.
하나하나 답하다보면 프로젝트 생성된다.
npm init quasar

그리고 바로 실행해보기
npm run dev

그럼 이런 창이 뜬다. 빌드 성공

prittier 설정
.eslintrc.cjs 를 보면 (ESLint는 코드 퀄리티를 보장하도록 도와주는 도구)
성능상의 이유로 prettier가 설치되어 있지 않으니 설치해서 사용하라는 안내가 되어있다.
prettier는 그냥 코드 예쁘게 잘 정리해주는 뭐 그런거라고 보면 된다.
(코드 구현과는 관련없는, 일관된 텍스트 작성을 도와주는 도구)


요렇게 플러그인을 설치해주자.

그리고 .prettierrc 파일을 만들고 원하는대로 설정해주자.
npm run lint
위 명령을 통해 검사하고,
npm run format
위 명령을 통해 모든 파일에 적용할 수 있다.

잘 적용 되었을 것이다!
프로젝트 구조 뜯어보기

이 코드는 수정할 필요 없는 파일이다.
App.js는 Quasar에 의해 자동으로 생성되는 파일이라, 삭제되어도 다시 생성된다.
application을 초기화 하는 코드를 넣고 싶을 땐?
=> App.js 에 바로 넣는 게 아닌 /src/boot 에 초기화 하는 파일을 넣으면 된다.
전역 플러그인 등록, 설정 초기화, API 통신 설정, root vue 인스턴스에 설치할 것들 설정할 때 모두 boot 디렉토리에 넣어준다.

test.js 파일을 만들어주자.

예시로 Axios 인스턴스를 전역으로 설정하고 Vue에 $testFunction이라는 전역 함수와 전역 플러그인 TestPlugin을 추가해 보자.

그리고 마지막으로 quasar.config.js 에서 요렇게 등록을 해줘야한다.
그럼 끝 !
vite로 프로젝트를 시작할 땐 vite.config.js 가 있지만,
quasar CLI 를 사용해서 프로젝트를 시작했기 때문에 quasar.config.js 가 있다.
여기서는 quasar에서 지원하는 많은 기능들을 사용할 수 있다. 개꿀~
여긴 뭐 그때그때 공부하면서 하면 될 듯 !


공식 문서를 보면 quasar 에서 정의된 folder aliases 가 있어서 지정된 별칭을 사용할 수 있다.

그래서 컴포넌트 불러올 때 ./src/component/원하는파일.vue 이렇게 써주지 않아도 된다.
components/원하는파일.vue 이렇게만 써줘도 된다.
dist 폴더는 빌드된 파일들이 들어가는 곳
삭제를 하더라도 npm run build 파일로 다시 만들 수 있다.
정적인 리소스 모아둔 곳
재사용 하는 코드들
다 알겠지만, 스타일 지정 파일을 넣는 폴더
근데 ! quasar.variables.scss 가 있는데 .. quasar 에서 제공하는 스타일을 변경할 수 있는 파일이다.

프로젝트 전체 레이아웃에 해당하는 컴포넌트 넣는 폴더
라우터에 의해 렌더링 되는 컴포넌트를 넣는 폴더
라우터 되는 정보들을 넣는 폴더
root 컴포넌트
기본 layout 이용해서 main 페이지 바꿔보기

요게 Quasar 기본 페이지이다.
기본 페이지가 이미 웹 서비스 형태라 여기서 뚝딱뚝딱 하면 페이지 하나 금방 만들 듯 !

먼저 컴포넌트 분리부터 해 주었다.
헤더와 사이드 바는 계속 재활용해야 하기 때문에 분리해준다.
사실 사이드 바에 로그인 기능을 박아버리기로 했는데, 로그인 섹션도 나누어야 할까 고민을 많이 했다.

그리고 pages 에는 사용하는 화면들 넣어주기~

routes 에 꼭 꼭 등록해주는 것도 잊지말자!

이건 layout 파일인데.. 앞서 만들어둔 component 들을 가지고 조합하는 느낌이다.
사실 component 와 layout 의 차이를 잘 모르겠다.
그래서 따로 좀 알아보았다.
Component 와 Layout
Component
Layout
그럼 고려할 사항은 ?
1. Component : 원재료 , Layout : 부품
ㅋㅋ 뭐랄까 원재료와 부품이 맞는 비유일지 모르겠지만, 내가 느끼는 바로는 그렇다..
Component 는 특수한 상황이 아니고선, Component 자체 포지션에 영향을 주는 코드 짜면 안된다..
(예를 들어 margin , padding등...)
포지셔닝은 Layout 에서 이루어져야 한다.
Component 는 원재료 , Layout 은 원재료로 만들어진 부품, Post 에서 부품들을 사용한다.
2. Component 는 재사용 될 수 있는걸 염두에 두자..
Component를 짤 땐 일회성 같은 코드도 재사용된다고 생각하고 짜도록 하자.
언제 어디서 어떻게 사용될지 모른당..
앗 쓰다보니... sidebar를 통째로 컴포넌트에 넣을게 아니라 레이아웃에 넣는게 맞는 것 같다..
그럼 컴포넌트에는 selectbox , login form , btn ... 이런게 하나하나 들어가야겠다..
하 그래도 100% 완성하고 깨닫는 것 보단 낫다.. 빨리 수정하도록 하자..
사실 오늘 정리한 내용들은 Quasar 라기 보단 vue 내용에 가까운..느낌이다.
Quasar 를 써보다가 또 유용한 기능이나 공부할 내용을 정리해야겠다.
아자아자🍀