Vue.js 마법 학교 8강: 우리 웹사이트의 마법 지도! (Vue Router)

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지금까지 우리는 한 페이지 안에서 일어나는 마법들을 배웠어요. 하지만 진짜 멋진 성에는 ‘거실’, ‘주방’, ‘비밀의 방’처럼 여러 개의 방이 있죠? 오늘은 우리 웹사이트에 여러 방을 만들고 자유롭게 돌아다닐 수 있게 해주는 마법 지도, Vue Router(뷰 라우터)를 배워볼게요!

Vue.js 마법 학교 8강: 우리 웹사이트의 마법 지도! (Vue Router)

1. Vue Router: 순간이동 마법 통로

보통 웹사이트는 다른 페이지로 갈 때마다 화면이 전체적으로 새로고침 되면서 ‘깜빡’거려요. 하지만 Vue.js 마법을 쓰면 화면 깜빡임 없이 아주 부드럽게 순간이동을 할 수 있답니다.

마법 지도를 보고 “거실로 가자!”라고 하면, 웹사이트 전체를 다시 그리는 게 아니라 거실에 있는 가구들(컴포넌트)만 싹 바꿔주는 원리예요. 정말 빠르고 부드럽겠죠?

2. 마법 지도의 구성 요소

  • <router-link>: 가고 싶은 방의 이름이 적힌 마법 버튼이에요. (예: 주방으로 가기)
  • <router-view>: 마법 지도를 따라 이동했을 때 나타나는 ‘방’ 그 자체예요. 거실 버튼을 누르면 이 자리에 거실 모습이 나타난답니다.

3. 실전 마법: 우리 집 마법 지도 만들기

코드를 보며 어떻게 페이지를 나누는지 살펴볼까요? (이 기능은 별도의 설치가 필요하지만, 원리를 이해하는 게 먼저예요!)

<div id="app">
  <h1>🏰 마법사 가족의 성</h1>
  
  <!-- 1. 마법 통로(버튼) 만들기 -->
  <nav>
    <router-link to="/">성 입구</router-link> | 
    <router-link to="/library">마법 도서관</router-link>
  </nav>

  <!-- 2. 방이 보여질 공간 준비 -->
  <div class="room-area">
    <router-view></router-view>
  </div>
</div>

<script>
  // 각 방(컴포넌트) 정의하기
  const Home = { template: '<div>환영합니다! 이곳은 성 입구입니다. ✨</div>' }
  const Library = { template: '<div>조용히 하세요! 마법 주문을 공부하는 도서관입니다. 📚</div>' }

  // 마법 지도(라우터) 설정하기
  const routes = [
    { path: '/', component: Home },
    { path: '/library', component: Library }
  ]
</script>
Vue.js 마법 학교 8강: 우리 웹사이트의 마법 지도! (Vue Router)

4. 스마트 라이프를 위한 가족 코딩 팁

아이들에게 스마트폰 앱을 보여주며 설명해 보세요. 아래쪽에 있는 ‘홈’, ‘채팅’, ‘설정’ 버튼들을 누를 때마다 화면이 부드럽게 바뀌는 것이 바로 이 라우터 마법 덕분이라는 것을요. 우리 가족만의 ‘비밀 일기장’ 페이지나 ‘오늘의 메뉴’ 페이지를 각각 따로 만들어 연결해 보는 상상을 함께 나누어 보세요!

마치며: 거대한 웹의 세계로 나아갈 준비

이제 여러분은 한 칸짜리 방이 아니라, 수많은 방이 연결된 거대한 성을 지을 수 있게 되었습니다. 진정한 설계자가 된 것이죠! 다음 시간에는 우리 웹사이트의 데이터를 한곳에 모아 관리하는 **’마법 금고(Vuex/Pinia)’**에 대해 알아볼게요!