๋ถ๋ฅ:์น ํ๋ ์์ํฌ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
๋ทฐ.JS Vue.js | |
์ข
๋ฅ | |
๋ผ์ด์ ์ค | |
๊ฐ๋ฐ | Evan You |
๋ฒ์ | 3.0 |
1. ๊ฐ์[ํธ์ง]
์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ฐ๋ฐ๋ ์ปดํฌ๋ํธ ๊ตฌ์กฐ ๊ธฐ๋ฐ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ. ๋ณดํต ๋ทฐ ๋ผ๊ณ ๋ถ๋ฅธ๋ค. (view) ์ต์ ๋ฒ์ ์ 3.0์ด๋ค.[1]
2. ์์[ํธ์ง]
์ด๋ฌํ HTML ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํ์ ๋,
ํด๋น ์ฝ๋๋ฅผ ์คํ์ํค๋ฉด,
"์๋ , ๋๋ฌด์ํค!" ๊ฐ ์ถ๋ ฅ๋๋ค.
<div id="app">
์๋
, {{ name }}!
</div>ํด๋น ์ฝ๋๋ฅผ ์คํ์ํค๋ฉด,
Vue.createApp({
data() {
return {
name: '๋๋ฌด์ํค'
}
}
}).mount('#app')"์๋ , ๋๋ฌด์ํค!" ๊ฐ ์ถ๋ ฅ๋๋ค.
3. ๊ฐ์ DOM[ํธ์ง]
Vue.js 2.0 ๋ถํฐ ์ถ๊ฐ๋ ๊ธฐ๋ฅ. ์ ์๋ ค์ง React์ฒ๋ผ, Vue.js๋ ๊ฐ์ DOM (Virtual DOM)์ ํ์ฉํ๋ค. ๋ธ๋ผ์ฐ์ ์ DOM์ ์ง์ ์ปจํธ๋กคํ๋ ๊ฒ์ ์๋นํ ๋ฌด๊ฑฐ์ด ์์
์ธ๋ฐ, ์ด๊ฒ์ ๊ฐ์ DOM์ ๋จผ์ ์
๋ฐ์ดํธํ ํ์ ๋ธ๋ผ์ฐ์ ์ DOM์ ํ๋ฒ์ ์
๋ฐ์ดํธ์ํค๋ ์์ผ๋ก ์ต์ ํํ๊ธฐ ์ํด์ ๊ฐ์ DOM์ด ์ฌ์ฉ๋๋ค. ํนํ Vue๋ React๊ฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด ์นํ์ด์ง๋ฅผ ์์ฃผ ๋ณํํ๋ ๊ฒฝ์ฐ์๋ ๊ฐ์ DOM์ด ๊ฐ์ ธ๋ค์ฃผ๋ ์ฑ๋ฅ ์ด๋์ด ๊ทน๋ํ๋๋ค.
4. Composition API[ํธ์ง]
Vue.js 3.0๋ถํฐ ์ถ๊ฐ๋ ๊ธฐ๋ฅ. React์ Hooks๋ก๋ถํฐ ์๊ฐ์ ๋ฐ์ ์ถ๊ฐ๋ ์ปดํฌ๋ํธ ์ ์ ๋ฐฉ๋ฒ์ผ๋ก, ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์
data(), methods, computed ๋ฑ์ ๋๋์ด ๋๋ ๊ธฐ์กด์ Options API์๋ ๋ฌ๋ฆฌ setup() ํจ์ ์์ reactive()๋ computed() ๋ฑ์ ํจ์๋ค์ ์ด์ฉํ์ฌ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ ๋ฐฐ์นํ๋ค. ์ฉ๋๋ณ ์ฝ๋ ์ ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ๋ฐฉ์์ ๋นํด ๋๊ท๋ชจ ์ปดํฌ๋ํธ์ ์ฝ๋ ๊ฐ๋
์ฑ์ ๋์ผ ์ ์๋ค. ๋ํ this์ ์์กดํ์ง ์๋ API ๊ตฌ์กฐ ํน์ฑ์ ๋ชจ๋ํ๊ฐ ๋งค์ฐ ์ํํ๋ฉฐ, ๋ฐ์ด๋ ํ์
์คํฌ๋ฆฝํธ ์ง์์ ๋ณด์ฌ ์ค๋ค. ์ฅ์ ๋ค์ ์ข
ํฉํด ๋ณด์๋ฉด ๊ฒฐ๊ตญ Vue๊ฐ ๊ธฐ์กด๊น์ง ์ง์ ๋ฐ๋ ๋ํ ํ๋ก์ ํธ์์์ ๋ฌธ์ ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํ API๋ผ๊ณ ๋ณผ ์ ์๋ค. @vue/composition-api ํจํค์ง๋ฅผ ์ด์ฉํ๋ฉด Vue 2์์๋ ์ฌ์ฉํ ์ ์๋ค.5. Vue.js ์ํ๊ณ[ํธ์ง]
Vue.js ํ์์๋ Vue๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋ ๋์์ ์ฃผ๊ธฐ ์ํด์ ์ถ๊ฐ์ ์ผ๋ก ๋ค์ํ ํ๋ ์์ํฌ์ ํด๋ค์ ์ ๊ณตํ๋ค.
5.1. Vue Router[ํธ์ง]
Vue ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ํํ SPA(Single Page Application, ํ ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋งํ๋ค)๋ก ๊ตฌ์ฑ๋๋๋ฐ, ์ด๋ ํ ํ์ด์ง ๋ด์์๋ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ ํ์ ์์ด ๋ง์น ์ฌ๋ฌ ๊ฐ์ ํ์ด์ง๊ฐ ์๋ ๋ฏํ ๋ฐฉ์์ผ๋ก ์๋ํ๊ฒ ํด ์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก Vue Router์ด๋ค. ์ด๋ ๋ณดํต ์ฌ์ดํธ์ ํฐ ํ ์์
<router-view> ํ๊ทธ๋ฅผ ์ฝ์
ํ๊ณ , ๋ผ์ฐํฐ๊ฐ ๋ณด์ฌ ์ค ์ปดํฌ๋ํธ๋ฅผ ์ด ํ๊ทธ ์์ ๋ ๋๋งํ๋ค. ๋ผ์ฐํฐ๊ฐ ๋ณด์ฌ ์ค ์ปดํฌ๋ํธ๋ <router-link>์ ํด๋ฆญ์ด๋ JS ํจ์ ํธ์ถ ๋ฑ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค. ๊ฐ๋จํ ์๋ฅผ ๋ค์ด๋ณด์๋ฉด ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค ๋ MainPage ์ปดํฌ๋ํธ์ Profile ์ปดํฌ๋ํธ, Posts ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ ํ, ๊ฐ๊ฐ ์ปดํฌ๋ํธ๋ก์ ๋งํฌ๋ฅผ ๋ด์ <router-link>๋ฅผ ๋ด๋น๊ฒ์ด์
๋ฐ์ ๋ฃ์ด ๋๊ณ , ๊ทธ ์๋์ <router-view>๋ฅผ ๋์ผ๋ฉด ๋ด๋น๊ฒ์ด์
๋ฐ์์ ๋งํฌ๋ฅผ ๋๋ฅด๋ ๋๋ก ๋ณด์ฌ์ง๋ ์ปดํฌ๋ํธ๊ฐ ๋ฐ๋๋ฉด์ ๋ง์น ์ผ๋ฐ์ ์ธ ์ฌ๋ฌ ํ์ด์ง๋ก ๊ตฌ์ฑ๋ ๋ธ๋ก๊ทธ์ ๊ฐ์ด ์๋ํ๊ฒ ๋๋ค. ํ์ง๋ง ์ค์ ๋ก๋ ํ์ด์ง๋ฅผ ์ด๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ก๋ฉ ์๊ฐ๋ ํจ์ฌ ์ ๊ณ ,[2] ํ๋ฉด์ด ์ฌ๋ผ์ก๋ค ๋ค์ ๋ํ๋๋ ์ง์ ๋ถํ ํจ๊ณผ ์์ด ์ฆ์ ํ๋ฉด์ด ์ ํ๋๋ค. ์ํ๋ค๋ฉด ์ ๋๋ฉ์ด์
์ ๋ฃ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค!5.2. Vuex[ํธ์ง]
Vue ์ปดํฌ๋ํธ๋ค ๊ฐ์ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Vuex๋ฅผ ์ฌ์ฉํ์ง ์์ Vue ์ ํ๋ฆฌ์ผ์ด์
์์ ์ปดํฌ๋ํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ค๋ฉด ์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ๋ก Property[3]๋ฅผ ๋๊ธฐ๊ฑฐ๋, ํ์์์ ์์ ์ปดํฌ๋ํธ๋ก ์ด๋ฒคํธ๋ฅผ ์ก์ ํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํด๋น ์ปดํฌ๋ํธ์์ ๋ฉ๋ฆฌ ๋จ์ด์ง ์ปดํฌ๋ํธ๊น์ง ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ค๊ณ ํ ๋ ์๋นํ ๊ณจ์น๊ฐ ์ํ์ง๋ค. Vuex๋ ์ด ๋ฌธ์ ๋ฅผ ์ค์ํ๋ Store ์์ state๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ๋ฅผ ๊ด๋ฆฌํจ์ผ๋ก์จ ํด๊ฒฐํ๋๋ฐ, ์ค์ํ๋ store ์ ๋ฐ์ดํฐ๋ ์ปดํฌ๋ํธ ์ด๋์๋ ์์ ๋กญ๊ฒ ์ฝ์ ์ ์์ผ๋ฉฐ, Store ์์ ๋ฑ๋กํ ์ ์๋ ๋๊ธฐ์ ํจ์[4]์ธ Mutation์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. Vuex๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ป์ ์ ์๋ ํธ์์ฑ์ด ๋งค์ฐ ํฌ๊ธฐ์, ์ข ๊ท๋ชจ๊ฐ ๋๋ Vue ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํ ๋ ์์ด์๋ ์ ๋๋ ๋ฌผ๊ฑด์ด๋ค.
5.3. Vue CLI[ํธ์ง]
Vue ๊ธฐ๋ฐ ํ๋ก์ ํธ์ ์์ฑ๋ถํฐ ๊ฐ์ข
ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ ๋ฐ ์ธํ
๊น์ง ๋์์ฃผ๋ ํด์ด๋ค. ์ด๋ฆ์์๋ ์ ์ ์๋ค์ํผ CLI ๊ธฐ๋ฐ์ ํด์ด๋ฉฐ,
vue ui ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์น ๊ธฐ๋ฐ UI๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค. ์ฌ๋ฌ๋ชจ๋ก ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ์, ๋ณธ๊ฒฉ์ ์ธ Vue.js ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ค๋ฉด ํ์์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋ ํด์ด๋ค.5.4. Vite[5][ํธ์ง]
Vue 3์ ํจ๊ป ๊ฐ๋ฐ๋ ํด๋ก์จ, ๊ธฐ์กด Vue CLI์ ์์น๋ฅผ ๋์ฒดํ๋ค. ๋ด๋ถ์ ์ผ๋ก ESBuild[6]๊ฐ ํ์ฉ๋์ด ๋ฏธ์น ๋ฏ์ด ๋น ๋ฅธ HMR(Hot Module Replacement, ์๋ก๊ณ ์นจ ์์ด๋ ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์์์ผ์ฃผ๋ ๊ธฐ์ ) ์๋๋ฅผ ๋ณด์ฌ์ค๋ค. ๋ธ๋ผ์ฐ์ ์ ์ฝ๋ ์๋ํฐ ํ๋ฉด์ ๋์์ ๋์ ๋์ ๋ค์ ์ฝ๋ ์ ์ฅ ํค๋ฅผ ๋๋ฅด๋ ์๊ฐ ์ฆ์ ํ๋ฉด์ด ๋ฐ๋๋ ๋ชจ์ต์ ์๋ฆ๋ค์ด ์์ค์ด๋ค. ๋ด๋ถ์ ์ผ๋ก SSR ์์คํ
๋ ๊ฐ์ถ๊ณ ์๋ค. Vue ์ง์์ ๋ฒ ์ด์ค๋ก ์์ํ์ง๋ง, ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ๋ฐ์ ํ๋ค๋ณด๋ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ค์์๋ ๋๋
๋ค์ผ ๋งํ ๊ฐ๋ ฅํ ํด์ด ๋์ด์ ํ์ฌ๋ ๋ค์ํ ํ๋ ์์ํฌ๋ค๊ณผ์ ์ฐ๋ ์์คํ
์ด ์กด์ฌํ๋ค.
5.5. ๊ธฐํ[ํธ์ง]
vue-loader๋ Vue์ SFC(Single File Component, ํ ํ์ผ ๋ด์ ํ
ํ๋ฆฟ๊ณผ ์คํฌ๋ฆฝํธ, ์คํ์ผ์ํธ๊ฐ ๋ชจ๋ ๋ค์ด๊ฐ๋ ํํ์ ์ปดํฌ๋ํธ์ด๋ค) ์ง์์ ์ถ๊ฐํ๋ Webpack ํ๋ฌ๊ทธ์ธ์ด๋ฉฐ, Vue CLI๋ก ์์ฑํ ๋ชจ๋ ํ๋ก์ ํธ๋ค์ ์ ์ฉ๋๋ค. ํ์ฅ์๋ .vue๋ฅผ ์ฌ์ฉํ๋ค.
Vetur๋ Vue๋ฅผ ์ํ Visual Studio Code ํ๋ฌ๊ทธ์ธ์ด๋ฉฐ, .vue ํ์ผ ์ง์์ด๋ ์ปค์คํ ํ ํ๋ฆฟ ๋ฌธ๋ฒ ์ง์ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ด์ฅํ๊ณ ์๋ค.
Vue Devtools๋ ๋ธ๋ฌ์ฐ์ ์์์ ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ, Vuex Store๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๊ฒ ํด์ฃผ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด๋ค. ํฌ๋กฌ๊ณผ ํ์ด์ดํญ์ค๋ฅผ ์ง์ํ๋ฉฐ, Electron ์ฑ ๋ฒ์ ๋ ์๋ค.
์ด์ธ์๋ ๋ค์ํ ํ๋ก์ ํธ๋ค์ Vue.js ํ GitHub ํ์ด์ง์์ ํ์ธํ ์ ์๋ค.
3.x ๋ฒ์ ๋ถํฐ TypeScript๋ก ์ฌ์์ฑ๋์ด, ๊ธฐ์กด๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ ํ์ ์คํฌ๋ฆฝํธ ์ง์์ ์ ๊ณตํ๋ค.
Vetur๋ Vue๋ฅผ ์ํ Visual Studio Code ํ๋ฌ๊ทธ์ธ์ด๋ฉฐ, .vue ํ์ผ ์ง์์ด๋ ์ปค์คํ ํ ํ๋ฆฟ ๋ฌธ๋ฒ ์ง์ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ด์ฅํ๊ณ ์๋ค.
Vue Devtools๋ ๋ธ๋ฌ์ฐ์ ์์์ ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ, Vuex Store๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๊ฒ ํด์ฃผ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด๋ค. ํฌ๋กฌ๊ณผ ํ์ด์ดํญ์ค๋ฅผ ์ง์ํ๋ฉฐ, Electron ์ฑ ๋ฒ์ ๋ ์๋ค.
์ด์ธ์๋ ๋ค์ํ ํ๋ก์ ํธ๋ค์ Vue.js ํ GitHub ํ์ด์ง์์ ํ์ธํ ์ ์๋ค.
3.x ๋ฒ์ ๋ถํฐ TypeScript๋ก ์ฌ์์ฑ๋์ด, ๊ธฐ์กด๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ ํ์ ์คํฌ๋ฆฝํธ ์ง์์ ์ ๊ณตํ๋ค.
6. Vue.js ๋ฅผ ์ฌ์ฉํ๋ ์น ์ฌ์ดํธ ๋ชฉ๋ก[ํธ์ง]
- ๋๋ฌด์ํค - the seed v4.13.0 ๋ถํฐ ์ ์ฉ๋์๋ค.
- ๋ค์ ์นดํ - PC ๋ฒ์ ์ผ๋ถ๋ง ์ ์ฉ.
- ์๋๋ฐ์ค ๋คํธ์ํฌ - ํํ์ด์ง์์ ์ฌ์ฉํ๋ค.
- FLO - ์น ํ์ด์ง.
- ๋ค์ด๋ฒ VIBE - ์น ํ์ด์ง.
- ํ๊ตญ๊ธฐ์ - PC ๋ฒ์ ์์ ์ฌ์ฉ.
7. ๋ ผ๋[ํธ์ง]
์๋ฐ ์ ์ ํธ์ํฐ์ 2019๋
ํ์ฝฉ ๋ฏผ์ฃผํ ์ด๋์ ๋น๋ํ๋ ๋ฏํ '์์ , ์ผ๋ง๋ ๋ง์ ์ฃ์
์ด ๋ค ์ด๋ฆ์ ๋น๋ ธ๋'๋ผ๋ ํธ์์ด ์ฌ๋ผ์๋๋ฐ, ์ฒ์์๋ ์ค๊ตญ์ด๋ก ์ฌ๋ ธ๋ค๊ฐ ์ญ์ ํ๊ณ [7] ์ดํ์ ๋ค์ ํ๋์ค์ด@๋ก ์ฌ๋ ธ๋ค.
ํด๋น ๊ธ์ ๋ํ ๊ณต์ ๋ต๋ณ์ ๋จ๊ฒผ๋ค. ๋งํฌ ์์ง๋, ์ผ๋จ ์์ ์ ๊ฒฝ์ฐฐ์ด๋ ์์์ ์ด๋ ํธ์ ๋ค๋ ค๋ ๊ฑด ์๋๋ฉฐ ๋ค๋ง ์ด๋ก ์ธํด ํญ๋ ฅ์ ์ธ ์ฌํ๊ฐ ๋ฐ์ํ๊ณ ์๋ค๋ ๊ฒ์ ๋ํด ๋งํ ๊ฒ์ด๋ผ๋ ์๋๋ก ๋ณผ ์ ์๋ค. ๋ค๋ง ์ฌ๊ฑด์ ๋ณธ์ง์ ์๊ฐํ์ ๋ ํญ๋ ฅ์ ๋ฐ์์๋ง ์ง์คํ๋ ๊ฒ์ ์ฌ์ค์ ์์์ ๋ฐ๋ํ๋ ์ ์ฅ์ ๊ฐ๊น๋ค๊ณ ๋ฐ์ ๋ณผ ์ ์๋ค. ์ผ๋จ ๋ณธ์ธ์ ์ ์น์ ์ ์ฅ์ด ํ๋ก์ ํธ์ ์ํฅ์ ๋ฐ๊ฒ ํ๊ณ ์ถ์ง ์๋ค๊ณ ๋ฐํ๋ค.
ํด๋น ๊ธ์ ๋ํ ๊ณต์ ๋ต๋ณ์ ๋จ๊ฒผ๋ค. ๋งํฌ ์์ง๋, ์ผ๋จ ์์ ์ ๊ฒฝ์ฐฐ์ด๋ ์์์ ์ด๋ ํธ์ ๋ค๋ ค๋ ๊ฑด ์๋๋ฉฐ ๋ค๋ง ์ด๋ก ์ธํด ํญ๋ ฅ์ ์ธ ์ฌํ๊ฐ ๋ฐ์ํ๊ณ ์๋ค๋ ๊ฒ์ ๋ํด ๋งํ ๊ฒ์ด๋ผ๋ ์๋๋ก ๋ณผ ์ ์๋ค. ๋ค๋ง ์ฌ๊ฑด์ ๋ณธ์ง์ ์๊ฐํ์ ๋ ํญ๋ ฅ์ ๋ฐ์์๋ง ์ง์คํ๋ ๊ฒ์ ์ฌ์ค์ ์์์ ๋ฐ๋ํ๋ ์ ์ฅ์ ๊ฐ๊น๋ค๊ณ ๋ฐ์ ๋ณผ ์ ์๋ค. ์ผ๋จ ๋ณธ์ธ์ ์ ์น์ ์ ์ฅ์ด ํ๋ก์ ํธ์ ์ํฅ์ ๋ฐ๊ฒ ํ๊ณ ์ถ์ง ์๋ค๊ณ ๋ฐํ๋ค.
[1] ๋ฒ์ 3์ด ๋์จ์ง ์ผ๋ง ๋์ง ์์ ์์ง Vue 2๋ ๊ฐ์ด ์ง์๋๊ณ ์๊ณ , 2.7 LTS ๋ฒ์ ์ ๋ง์ง๋ง์ผ๋ก 3๋ก ์์ ํ ์ ํํ ๊ณํ์ด๋ค.
[2] ์ด๋ฌ๋ฉด ์ด๊ธฐ ๋ก๋ฉ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒ ์๋๋๊ณ ํ ์๋ ์๋๋ฐ, Vue Router๋ Lazy Load๋ฅผ ์ง์ํด์ ์ต์ด ๋ก๋ฉ ์์ ๋ก๋ฉํ์ง ์๊ณ ์ปดํฌ๋ํธ๊ฐ ํ์ํ๊ฒ ๋ ์์ ์ ํด๋น ์ปดํฌ๋ํธ๋ฅผ ๋ก๋ฉํด์ค๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
[3] HTML ์์ฑํ ๋ ํ๊ทธ ์ด๋ฆ ๋ค์ ์ ์ด ๋ฃ๋ ๊ฒ๋ค. ์ปดํฌ๋ํธ์์ ์ด๋ค ํ๋กํผํฐ๋ฅผ ๋ฐ์๋ค์ผ์ง๋ฅผ ์ ์ํ ์ ์๋ค.
[4] Promise๋ ์ฝ๋ฐฑ ๋ฑ์ ๋น๋๊ธฐ ์์
์ด ์๋ ํจ์.
[5] ํ๋์ค์ด์์ ๋ฐ์์ผ๋ฉฐ, ์ ํํ ๋ฐ์์ ๋น
/vit/์ด๋ค.[6] Go(ํ๋ก๊ทธ๋๋ฐ ์ธ์ด)๋ก ์์ฑ๋์ด Webpack ๋ฑ์ ๊ธฐ์กด ๋๊ตฌ๋ค๋ณด๋ค ์๋์ ์ผ๋ก ๋น ๋ฅธ ์๋๋ฅผ ์๋ํ๋ค.
[7] ๋งํฌ๋ ์บก์ฒ๋ณธ.