일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DML
- sql문
- JavaScript
- 클래스
- 알고리즘
- 백엔드
- StringBuilder
- github
- Java
- select
- 데이터 조회
- 개발자
- String클래스
- html
- 백준
- 리눅스
- order by
- 형변환
- 스프링
- 프로그래밍
- 자바스크립트
- BufferedReader
- where
- select문
- MySQL
- 프로그래머스 sql 고득점 kit
- mybatis
- SQL
- 프론트엔드
- 웹개발
- 예외처리
- scanner
- 정보처리기사
- 정보처리기사필기요약
- 메서드
- 입출력
- 자바
- Git
- 프로그래머스 SQL
- Linux
- Today
- Total
ToBe끝판왕
[ Vue.js ] 뷰 라우터 개념 , 설치 , 설정( index.js / main.js / 본문
Vue Router ( 뷰 라우터 )
• Vue.js 에서 페이지간 이동을 위한 라이브러리
• Vue.js 의 공식 라우터
• 페이지 이동할 때, URL 변경되면 변경된 요소의 영역에 컴포넌트를 갱신한다.
• 뷰 라우터( Vue Router )는 뷰로 만든 페이지간에 자유롭게 이동할 수 있다.
태그 | 설명 |
< router - link to = "URL 값" > | 페이지 이동 태그, 화면에서 <a> 태그로 치환된다. |
< router - view > | 페이지 표시 태그, 변경된 URL에 따라 해당 컴포넌트를 뿌려주는 영역 |
※ 라우팅이란 ?
웹 페이지간의 이동 방법을 의미한다.
• 페이지를 이동할 때 서버에 요청하여 새로 갱신하는 것이 아니라 미리 해당 페이지를 받아놓고 페이지 이동시
클라이언트의 라우팅을 이용하여 화면을 갱신한다. 이러한 방식을 SPA라고도 한다. ( = Single page Application )
• 라우팅을 이용하면 화면 간의 전환을 매끄럽게 할 수 있다.
• Vue, React, Angular 모두 라우팅을 이용하여 화면을 전환한다.
▶ 뷰 라우터( Vue Router ) 설치
아래 명령어를 입력하여 뷰 라우터( Vue Router )를 설치한다.
현재 필자는 Vue.js 3을 이용하고 있기 때문에
npm i vue-router@next --save
▶ 뷰 라우터( Vue Router ) 설치 확인
프로젝트의 package.json을 열었을 때 dependencies에 vue-router가 추가돼있는 것을 확인할 수 있다.
▶ Vue 프로젝트 디렉터리 구조
src
├── assets
├── components
├── router
│ └── index.js
├── views
├── App.vue
└── main.js
▶ 뷰 라우터( Vue Router ) 설정( index.js 를 통해서 )
• index.js는 웹 경로와 설정이 있는 Vue Router JavaScript 파일이다. ( 설정 필요 )
• Vue 컴포넌트를 웹경로와 이름으로 연결하기 위해 route를 배열에 등록한다.
• Main 화면의 설정을 바꿔서 띄어보도록 한다.
• History Mode로 Router 생성
- Vue-router의 createRouter( ) 메서드와 createWebHistory( ) 메서드를 이용하여 router를 생성한다.
• route( 라우트 ) 는 path, name, component로 구성된다.
- path : 라우트( route)를 찾을 수 있는 경로
- name : 라우트( route ) 로 연결할 때 사용하는 이름 / < router - link > 에서 이름으로 연결할 때 사용된다.
- component : 라우트( route)에서 불러올 Vue 컴포넌트이다. / import나 import( ) 메서드로 Vue의 컴포넌트를 가져온다.
import { createWebHistory, createRouter } from "vue-router";
const routes = [
{
path: "/",
name: "MainApp",
component: () => import( '@/views/main/MainApp.vue'), // 동적 import
}
];
export const router = createRouter({
history: createWebHistory(),
routes,
});
▶ 라우터( route) 모듈 가져오기 ( main.js를 통해서 )
• 애플리케이션의 진입점이다.
• main.js는 Vue 인스턴스를 생성하는 역할이다.
• main.js 에는 전역 컴포넌트나 부가적인 Vue 라이브러리를 등록하는 경우가 많다.
• 애플리케이션의 설정 / 플러그인 / 라이브러리들을 파악할 수 있는 구조도가 된다.
import { createApp } from 'vue'
// 라우터 추가하기
import { router } from './router/index.js';
import App from './App.vue'
// Vue 인스턴스 생성
const app = createApp(App);
// 사용 설정하기
app.use(router);
app.mount('#app');
▶ Assets에 img 파일 옮기기 / views파일에 MainApp.vue 만들기
• assets 디렉터리
- CSS나 이미지 등의 정적 자산( Static Assets ) 을 저장한다.
- SRC 디렉터리에 포함되어 있기 때문에 Webpack처리를 받는다.
• views 디렉터리 안에 MainApp.vue 파일 만들기
- 아래와 같은 구조가 나오게 만들었다.
▶ Vue Router 연동
• Vue Router를 연동하기 위한 웹 경로 , Vue 컴포넌트를 연결하여 createRouter( ) 메서드를 통해서 생성한다.
• App.vue에서 use( ) 메서드를 통해서 사용하게 설정해야 한다.
'■ 프로젝트 > 팀프로젝트 수정 1' 카테고리의 다른 글
[ GITHUB ] GitHub 저장소에 프로젝트 연결( vue.js + SpringBoot ) , Git 명령어( Git Bash ) (0) | 2022.06.08 |
---|---|
[ Vue.js ] Vue.js ( 기본 개념 / 특징 / 설치 ) , 스프링부트( SpringBoot ) 연동 (0) | 2022.06.07 |