Router ์ด์คํด์ค๋ฅผ ์์ฑํ ๋
history
์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ค์ํ history mode ์ค์์ ์ ํํ ์ ์๋ค.
- Hash - createWebHashHistory()
- History - createWebHistory()
- Memory - createMemoryHistory()
Vue Router๋ฅผ ํตํด URL๋ก ํ์ด์ง๋ฅผ ์ ํํ ๋ ํ์คํ ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํด์(
#
)ํ์ผ๋ก ์ธ ์ ์๊ฒ ํด์ค๋ค. ํด์๋ชจ๋๋createWebHashHistory()
๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ
import { createRouter, createWebHashHistory } from 'vue-router'
const router = createRouter({
history: createWebHashHistory(),
router: [
....
]
})
๋ด๋ถ์ ์ผ๋ก ์ ๋ฌ๋๋ ์ค์ URL ์์ ํด์ ๋ฌธ์(#
)๋ฅผ ์ฌ์ฉํ๋ค. URL์ ์ด ์น์
์ ์๋ฒ๋ก ์ ์ก๋์ง ์์ผ๋ฏ๋ก ์๋ฒ ์์ค์์ ํน๋ณํ ์ฒ๋ฆฌ๊ฐ ํ์ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ SEO์ ๋์ ์ํฅ์ ๋ฏธ์น๋ค. Hash๋ ์ง์ํ๋ฉฐ HTML5๋ชจ๋(createWebHistory()
)๋ฅผ ์ฌ์ฉํ์
Vue Router๋ฅผ ํตํด URL๋ก ํ์ด์ง๋ฅผ ์ ํํ ๋ ํ์คํ ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํด์(
#
)์์ด ์ธ ์ ์๊ฒ ํด์ค๋ค. Web API์ธhistory.pushState()
๋ฅผ ํ์ฉํ์ฌ ํ์ด์ง๋ฅผ ๋ค์ ๋ก๋ํ์ง ์๊ณ ๋ URL ํ์์ ํ ์ ์๋ค. HTML5 ๋ชจ๋๋createWebHistory()
๋ก ์์ฑ๋๋ฉฐ ๊ถ์ฅ ๋ชจ๋์ด๋ค.
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(),
routes: [
...
]
})
createWebHistory()
๋ฅผ ์ฌ์ฉํ๋ฉด URL์ "์ ์"์ผ๋ก ๋ณด์ธ๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ์๋ค. ์ฐ๋ฆฌ์ ์ฑ์ด ์ ์ ํ ์๋ฒ ์ค์ ์ด ์๋ ๋จ์ผ ํ์ด์ง ํด๋ผ์ด์ธํธ ์ฑ์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ง์ http://oursite.com/user/id
์ ์ ์ํ๋ฉด 404 ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์๋ฒ์ ๊ฐ๋จํ๊ฒ ํฌ๊ด์ ์ธ ๋์ฒด ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ฉด ๋๋ค. URL์ด ์ ์ ์์
๊ณผ ์ผ์นํ์ง ์์ผ๋ฉด ์ฑ์ด ์๋ ๋์ผํ index.html
ํ์ด์ง๋ฅผ ์ ๊ณตํด์ผ ํ๋ค.
๐ก hash์ history์ ์ฐจ์ด๋
#
์ด ๋ถ๊ณ ์ ๋ถ๊ณ ์ ์ฐจ์ด๋ค. ์ ํํ ์ฐจ์ด๋ ์ด์ ์๋ฒ์ ๋ฐฐํฌํ ๋ ์ผ์ด๋๋ค.