본문 바로가기
vue

vuetify2

by uni:D 2024. 6. 2.

뷰티파이2는 이미 서비스가 끝나서 뷰티파이3나 퀘이사를 공부해야하지만

뷰티파이 강좌가 2버젼이라서 한번 사용해보기로 함

 

 

-------------------

vue2 (vutify2)

뷰티파이2 사이트
https://v2.vuetifyjs.com/en/

mdi아이콘
https://pictogrammers.com/library/mdi/

샘플이미지무료 사이트
https://pixabay.com/ko/

인프런 강좌(무료) : Vuetify Admin Template 만들기 - 기본편 (Based Vue2) 짐코딩
https://www.inflearn.com/course/lecture?courseSlug=%EB%B7%B0%ED%8B%B0%ED%8C%8C%EC%9D%B4-%EC%96%B4%EB%93%9C%EB%AF%BC-%ED%85%9C%ED%94%8C%EB%A6%BF-1&unitId=79489

######섹션1. 프로젝트생성>프로젝트생성######

1. vuecli 검색
2. https://cli.vuejs.org/ 사이트 접속(get start>installation)
---------------
3. 커멘드창에서 npm install -g @vue/cli (글로벌로 뷰의 cli를 설치한다)
4. vue --version 을 눌러서 설치된 버젼을 확인한다
내컴퓨터 버전 => @vue/cli 5.0.8
5. 작업할려는 위치로 폴더를 열어서  (!!! 파워셀로 커멘드창 열면 보안에러떠서 깃배시에서 할것)
커멘드창에서 vue create vuetify-admin-template
vue2 를 선택
6. npm run serve (화면 서버주소)
7. npm i -S vue-router (라우터 설치) 이렇게 설치하면 안된다 최신버젼으로 깔리기때문에
여기서 쓰는건 버젼 2니깐 2로설치하기
npm install vue-router@2

8. Dashboard.vue파일을 만들었더니 에러난다 =>DashBoard.vue이렇게 바꿨음
(이름을 다른 요소와 겹치지않도록 여러단어의 조합으로 만들어야함)
9. src> router>index.js파일만들기
import Vue from 'vue'
import VueRouter from 'vue-router'

10. router임포트할려니깐
router is defined but never used 에러뜨면
vue.config.js 파일에 아래 내용 추가
devServer: {
    client: {
      overlay: false
    }
  }

11. 뷰티파이설치 지금은 버전3이나온 상태라 코맨드창에 버전 2를 설치해야한다
https://v2.vuetifyjs.com/en/
vue add vuetify 
y쓰고
default선택하라고 영상에 되어있는데 디폴트가 없다ㅠ
? Choose a preset:
> Vuetify 2 - Configure Vue CLI (advanced)
  Vuetify 2 - Vue CLI (recommended)
  Vuetify 2 - Prototype (rapid development)
  Vuetify 3 - Vite (preview)
  Vuetify 3 - Vue CLI (preview)
여기서 느낌으로 그냥 리코멘드를 선택했다 Vuetify 2 - Vue CLI (recommended)
에러가난다 아니 왜 계속 에러나ㅠ 고통스럽다
HomeView.vue 이름으로 하면안된단다. 그래서 이걸 끄는 작업이 필요하다
package.json에

"eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "@babel/eslint-parser"
    },
    "rules": {
      "vue/multi-word-component-names": 0
    }    
  },

룰스 안쪽에 이걸 추가해주면된다
"vue/multi-word-component-names": 0

12. 
https://v2.vuetifyjs.com/en/
UI Components에 navigation

<v-list-item
          v-for="item in items"
          :key="item.title"
          link
          :to="item.to" 
        >
 :to="item.to" 이건 링크 연결 시키겠다라는 뜻 이거추가


######섹션1. 프로젝트생성>프로젝트설정######
1.
editorconfig 플러그인 설치(에디톨콘피그) editorconfig for VS Code
루트 디렉토리에 .editorconfig 파일 하나생성해서 그안에
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

들여쓰기 2칸
앞에 공백제거
파일저장할때 파일에 끝은 새로운줄로 저장
https://editorconfig.org/ 여기안에 자세한 옵션에 대한 설명이 들어있다

2.
npm install eslint-plugin-vuetify --save-dev
아 또 에러난다 오마갓
아래와같이 입력한다 (npm install 명령에 --legacy-peer-deps 옵션을 추가하여 의존성 충돌을 무시하고 설치할 수 있다)
npm install eslint-plugin-vuetify --save-dev --legacy-peer-deps


루트에 eslintrc.js 파일을 만들어서
https://github.com/vuetifyjs/eslint-plugin-vuetify 여기에 내용이 들어가있다

// .eslintrc.js
module.exports = {
  extends: [
    'plugin:vue/base',
    'plugin:vuetify/base'
  ]
}

3.
eslint플러그인설치 
ctrl+shift+p
open settings를 입력한다
settings.json 파일에
 "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    }
또 에러난다 오마갓 아래와같이 입력해서 저장함
 "editor.codeActionsOnSave": {
        "editor.formatOnSave": "always",
        "source.organizeImports": "always",
        "source.sortImports": "always",
        "source.fixAll": "always"
      }

######섹션2. 그리드시스템>그리드시스템 2탄######
1.
https://v2.vuetifyjs.com/en/
toolbar검색

2.
v-container
v-row  (줄)
v-col (열)
v-spacer

v-row  안에  v-col(칸이 들어간다)

감싸는 v-row에 줘야한다!!!
거터사이즈는 기본사이즈가 24픽셀
dense 8픽셀
no-gutters는 안에 간격이 없는거
pa-3 (3열)
align="end" 정렬 아래로


<v-container class="red" fluid> fluid는 100% 꽉차게하는거임

예전 문법 쓰지 않도록 막는거 eslintrc.js파일에 하단추가
rules: {
    'vutify/no-deprecated-classes': 'error',
    'vutify/no=legacy-grid': 'error'
  }

인라인으로 줄려면
:style="{height: '120px'}" 이런식으로 가능

######섹션2. 그리드시스템>그리드시스템 3탄######

GridListPage is defined but never used
파일만들어서 임포트 시키니깐 계속 에러가난다 밑에 라우터쪽도 쓰여야지 에러가 안난다


콜스 속성(최대12개의 컬럼)
v-for="count in 12" //같은 박스를 12개를 보여주겠다

<v-col cols="12"> =>칸이 한개
<v-col cols="6"> => 칸이 두개
<v-col cols="3"> => 칸이 네개
 cols="auto" 안에 들어간 텍스트만큼의 넒이를 가지는거

반응형할때는 이런식으로  숫자 넣어주면됨
xs="6"
sm
md
lg
xl

<v-row justify="center"> 정렬하는거



######섹션 3. Vuetify 학습>Layouts######
<v-app>은 제일 바깥에 =>소스 봤을때는 <div id="app">이런식으로 보여짐
<v-app-bar v-if="$vuetify.breakpoint.xsOnly" app />//모바일모드에서만 보이기
<v-navigation-drawer" app />
 app을 추가해서 적어줘야하다 서로 연동되기떄문에 간격이라던가

######섹션 3. Vuetify 학습>Breakpoints######
레이어팝업이 웹일떄는 작은사이즈 모바일일때는 풀로 뜨게

######섹션 3. Vuetify 학습>Typography ######
Typography는 헤딩테그
<p class="text-h1">
<p class="text-h2 text-sm-subtitle-1"> 사이즈가 sm일때는 서브타이틀로 바꿔라
<p class="font-weight-black"> 폰트 굵기
<p class="text-right text-sm-left">오른쪽 정렬 /사이즈가 sm일때는 왼쪽 정렬

######섹션 3. Vuetify 학습>colors ######
<v-card class="primary lighten-1 darken-1"> 기본 배경색// lighten-1 색상연하기 //  darken-1 색상진하게
<v-card class="primary--text"> 기본 폰트 색상

기본색상 변경하고 싶으면
공식페이지에서 preset  검색해서 디폴트값들을변경하면된다


######섹션 3. Vuetify 학습>Helper Class ######
pa-3 (12px) 전체패딩
pb-4 (16px) 패딩바틈
d-none (디스플레이난)
<v-card class="d-none d-sm-block"> 안보이다가 sm사이즈에서는 보이게
그외에 박스셰도우, 플렉스, 플로트에 관한것도 있음

######섹션 3. Vuetify 학습>마무리 ######
<p :src="require('@/assets/sidebar.jpg')">
=>백그라운드
대쉬보드(그래프는) 검색을 sparklines

 

'vue' 카테고리의 다른 글

vue3+swiper  (0) 2024.06.29
vue3 페이지 이동  (0) 2024.06.29
레이어팝업 위치 이동하기 vue3기능 -> Teleport  (0) 2024.06.28
vue3 사라지고 나올때 트렌지션 효과  (0) 2024.06.28
vue3+bootstrap5  (0) 2024.06.20