<aside> ๐งโ๐ป
**Vue Router
**๋ Vuejs๋ก SPA๋ฅผ ๊ตฌํํ ๋ ์ฌ์ฉํฉ๋๋ค.
</aside>
URL์ ๋ฐ๋ผ ์ด๋ค View๋ฅผ ๋งคํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
URL์ ๋ํด ์ด๋ค View๋ฅผ ํ์ํ๋ ์ ๋ณด
npm install vue-router
views
๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ์ฌ ๋ ๋ทฐ๋ฅผ ๋ง๋ค๊ฒ์
views/HomeView.vue
view/AboutView.vue
router
๋๋ ํ ๋ฆฌ์ index.js
๋ง๋ค์ด ์ค์ ํฉ๋๋ค.
index.js
// ๋ผ์ฐํฐ ๊ฐ์ฒด ์์์ฑ *๋ผ์ฐํธ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
import { createRouter, createWebHistory } from 'vue-router'
// ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
import HomeView from '@/views/HomeView.vue'
import AboutView from '@/views/AboutView.vue'
// routes ์ ๋ณด ์ค์
// ๋ฐฐ์ด ํํ๋ก ๋ง๋ค์ด ๋งคํ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค.
const routes = [
{
path: '/', // '/'(๋ฃจํธ)๋๋ ํ ๋ฆฌ๋ก ์ ๊ทผ ํ์ ๋
component: HomeView, // HomeView ์ปดํฌ๋ํธ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ
},
{
path: '/about',
component: AboutView,
},
]
// ๋ผ์ฐํฐ ๊ฐ์ฒด ์์ฑ
const router = createRouter({
history: createWebHistory('/'),
routes, // = routes: routes ํค์ ๊ฐ์ด ๊ฐ์ ๋จ์ถ ํํ
// *routes๋ผ๋ ์ต์
์ ์์์ด ์์ฑํ routes๋ฅผ ๋ฃ์ด์ค๋๋ค.
})
// router ๊ฐ์ฒด๋ฅผ ์ธ๋ถ์์ ์ฌ์ฉ(import)ํ ์ ์๋๋ก export
export default router