프로젝트/영화 검색 (Vue)
Vue 프로젝트 Router 구성
IT Blue
2021. 7. 24. 03:56
Vue Router
특정한 사이트를 제작할 때 페이지를 구분하는 것이 라우터 기술
-> 일반적으로 뷰에서 화면이 전환될 때, 전환하는 행위를 Route 라고 표현
-> Vue에서는 SPA를 제작할 때 라우팅 라이브러리로 Vue Router 를 제공
Vue.js를 사용한 싱글 페이지 앱을 쉽게 만들 수 있도록 Vue.js의 코어와 긴밀히 통합되어 있습니다.
아래의 기능을 포함합니다.
- 중첩된 라우트/뷰 매핑
- 모듈화된, 컴포넌트 기반의 라우터 설정
- 라우터 파라미터, 쿼리, 와일드카드
- Vue.js의 트랜지션 시스템을 이용한 트랜지션 효과
- 세밀한 네비게이션 컨트롤
- active CSS 클래스를 자동으로 추가해주는 링크
- HTML5 히스토리 모드 또는 해시 모드(IE9에서 자동으로 폴백)
- 사용자 정의 가능한 스크롤 동작
구성 순서
1. vscode vue3-webpack-template 다운로드
2. npm install vue-router@4 (뷰 라우터 설치)
3. /src/routes 폴더 생성
4. /src/routes/index.js, /src/routes/Home.vue, /src/routes/About.vue 파일 생성
main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './routes/index.js'
/* .use() 특정한 플러그인 연결 */
createApp(App)
.use(router)
.mount('#app')
index.js
/* 페이지를 관리해주는 구성 파일 */
import { createRouter, createWebHashHistory } from 'vue-router'
import Home from './Home'
import About from './About'
/* createRouter()를 기본 내보내기 */
/* main.js 에서 router 라는 이름으로 받아서 하나의 플러그인으로 프로젝트에 적용 */
export default createRouter({
// Hash 모드
// 예시 - https://google.com/#/search
history: createWebHashHistory(),
// pages (페이지를 구분)
routes: [
{
// 페이지를 구분해주는 각각의 경로
path: '/',
component: Home
},
{
path: '/about',
component: About
}
]
})
Home.vue
<template>
<h1>Home!</h1>
</template>
About.vue
<template>
<h1>About!</h1>
</template>
App.vue
<template>
<RouterView />
</template>
동작 순서
main.js -> App.vue RouterView(Home.vue, About.vue)
실행 결과
참고
https://next.router.vuejs.org/
Vue Router
next.router.vuejs.org