Vue.js 라우트 설정: 단계별 가이드 및 심층 분석
서론
Vue.js는 단일 페이지 애플리케이션(SPA) 개발에 있어 강력한 프레임워크입니다. Vue Router는 Vue.js의 공식 라우터로, 사용자 인터페이스를 URL에 따라 동적으로 업데이트하는 데 사용됩니다. 이 글에서는 Vue Router를 사용하여 Vue.js 애플리케이션에 라우팅을 설정하는 방법을 단계별로 자세히 설명하고, 다양한 기능과 활용법을 심층적으로 다룰 것입니다.
1. Vue Router 설치
Vue Router를 사용하기 위해서는 프로젝트에 설치해야 합니다. Vue CLI를 사용하는 경우 다음 명령어를 실행하여 설치할 수 있습니다.
vue add router
2. 기본 라우트 설정
Vue Router는 routes 배열을 통해 라우트를 정의합니다. 각 라우트는 path, component, name 등의 속성을 가질 수 있습니다.
import { createRouter, createWebHistory } from 'vue-router';
const routes = [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/about',
name: 'about',
component
: About
}
];
const router = createRouter({
history: createWebHistory(),
routes
});
export default rout
er;
- path: 해당 라우트의 URL 경로를 나타냅니다.
- name: 라우트에 이름을 부여하여 다른 곳에서 참조할 수 있도록 합니다.
- component: 해당 라우트에 연결될 컴포넌트를 지정합니다.
3. 라우트 연결
main.js 파일에서 생성한 라우터 인스턴스를 Vue 애플리케이션에 연결합니다.
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
createApp(App).use(router).mount('#ap
p');
4. 라우트 링크 생성
router-link 컴포넌트를 사용하여 다른 라우트로 이동하는 링크를 생성할 수 있습니다.
<template>
<div>
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
</div>
</template>
5. 라우트 뷰 표시
router-view 컴포넌트는 활성화된 라우트에 해당하는 컴포넌트를 렌더링합니다.
<template>
<div id="app">
<header>
</header>
<router-view />
</div>
</template>
심층 분석
동적 라우트 매칭
URL에 변수를 포함하여 동적으로 라우트를 매칭할 수 있습니다.
{
path: '/user/:id',
component: User
}
중첩된 라우트
라우트를 중첩하여 더 복잡한 URL 구조를 만들 수 있습니다.
{
path: '/products',
component: Products,
children: [
{
path: ':id',
component: Product
}
]
}
네비게이션 가드
라우트 전환 전후에 특정 조건을 검사하거나 작업을 수행할 수 있습니다.
const router = createRouter({
// ...
beforeRouteEnter(to, from, next) {
// 라우트 진입 전
},
beforeRouteLeave(to, from, next) {
// 라우트 이탈 전
}
});
라우트 메타 필드
라우트에 추가적인 정보를 저장하고 활용할 수 있습니다.
{
path: '/about',
name: 'about',
component: About,
meta: { title: 'About Us' }
}
결론
Vue Router는 Vue.js 애플리케이션에 라우팅 기능을 제공하여 사용자 친화적인 단일 페이지 애플리케이션을 개발하는 데 필수적인 도구입니다. 이 글에서는 Vue Router의 기본 설정부터 다양한 고급 기능까지 상세하게 다루었습니다. 실제 프로젝트에 Vue Router를 적용하여 더욱 풍부하고 역동적인 웹 애플리케이션을 개발해 보세요.
'Vue.js 를 배워보자 > 5. 라우팅' 카테고리의 다른 글
네비게이션 링크 (0) | 2024.10.05 |
---|---|
네비게이션 가드 (0) | 2024.10.05 |
Vue Router (0) | 2024.10.05 |