๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒต Vue.js

[Vue.js] ๋ผ์šฐํ„ฐ ์„ค์น˜ํ•˜๊ณ , ๋ฐฐ๊ฒฝ์ƒ‰ ๋ฐ”๊ฟ”๋ณด๊ธฐ.

by ._.sori 2025. 7. 20.

 

 

[ 3. Vue.js ์„ค์น˜ํ•˜๊ธฐ ]

์„ค์น˜ ์•ˆ ํ•˜์‹  ๋ถ„๋“ค์„ ์œ„ํ•ด ๋‚จ๊ฒจ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค

 

[Spring] (MAC, IntelliJ, vue.js) Spring boot๋กœ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ณ , vue.js ์„ค์น˜์™€ ํ”„๋กœ์ ํŠธ ์—ด๊ธฐ.

์ด๋ฒˆ์— ๋งŒ๋“ค ์›น์‚ฌ์ดํŠธ๋Š”vue.js๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค๐Ÿ  1. ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€? ํšŒ์›๊ฐ€์ž… ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค. Vue.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ, ๊ฐ„๋‹จํ•œ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์›น

post-this.tistory.com

 


 

 

์ฐธ๊ณ ๋กœ Vue.js์— ๋Œ€ํ•ด์„œ ์ž˜ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

์•„๋ฌด๊ฑฐ๋‚˜ ๋ง‰ ํ•ด๋ณด๋Š” ์ค‘์ด๊ณ  ์˜ณ์€ ์ •๋ณด์ธ์ง€ ์ €๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค!

 

 

 

๋ผ์šฐํ„ฐ๋ฅผ ์„ค์น˜ํ•˜๊ณ 
๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ฐ”๊ฟ”๋ณผ ๊ฒƒ์ด๋‹ค.

 

 

 

1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ

 

โ–ก Vue.js ์„ ํƒํ•˜๊ณ , practice01์ด๋ž€ ์ด๋ฆ„์„ ๋ถ™์—ฌ์ฃผ๊ธฐ

Vue.js๋ฅผ ์„ ํƒํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋„ npm์„ ์„ค์น˜ํ•˜๋ฉด์„œ ๊ฒฐ๊ตญ Vite ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋ž˜์„œ Vite๋กœ ๋งŒ๋“ค์–ด๋„ ๋˜‘๊ฐ™์„ ๊ฒƒ ๊ฐ™๊ธดํ•œ๋ฐ... ์ž˜ ๋ชจ๋ฅด๋‹ˆ๊นŒ ์ผ๋‹จ์€ ํŒจ์Šคํ•˜๊ฒ ๋‹ค. (๋‹ค์Œ์— ํ•œ ๋ฒˆ ๋„์ „ํ•ด๋ณด๊ธฐ๋กœ!)

 

 

 

โ–ก npm ์„ค์น˜ํ•˜๊ธฐ

์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— 'npm install'์ด ๋‚˜ํƒ€๋‚œ๋‹ค. ์ด ์ฐฝ์˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์„ค์น˜ํ•˜๋ฉด ์•Œ์•„์„œ ์„ค์น˜๋œ๋‹ค.

๋งŒ์•ฝ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด,  ํ„ฐ๋ฏธ๋„์— ๊ฐ€์„œ ์™ผ์ชฝ์— ์จ์žˆ๋Š” ์ดˆ๋ก ๊ธ€์”จ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ํ„ฐ๋ฏธ๋„ ๋ชป ์ฐพ๊ฒ ์œผ๋ฉด ์•„๋ž˜ ์‚ฌ์ง„์„ ๋ณด์„ธ์š”, ์—ฌ๋Ÿฌ๋ทด.

(์บก์ณํ•ด์„œ ๋ณด์—ฌ์ค„๋ ค๊ณ  practice02๋กœ ์ƒˆ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค)

 

 

 

โ–ก npm run dev

ํ„ฐ๋ฏธ๋„์— ๋“ค์–ด๊ฐ€์„œ 'npm run dev' ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜์ž.

์ œ๋Œ€๋กœ ์‹คํ–‰์ด ๋œ๋‹ค๋ฉด, http://localhost:5173 URL์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

์ฐธ๊ณ ๋กœ ์ € ํŒŒ๋ž€๋ฒ„ํŠผ์ด ํ„ฐ๋ฏธ๋„ ๋ฒ„ํŠผ์ด๋‹ค.

 

 

 

โ–ก http://localhost:5173

 

 

 

โ–ก ์“ธ๋ชจ์—†๋Š” ํŒŒ์ผ ์ง€์›Œ๋ฒ„๋ฆฌ๊ธฐ

icons ๋””๋ ‰ํ† ๋ฆฌ ์—†์•ด๊ณ , components์— ๋“ค์–ด์žˆ๋Š” vueํŒŒ์ผ๋„ ์—†์•ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  App.vue์˜ ์ฝ”๋“œ๋„ ์ˆ˜์ •ํ–ˆ๋‹ค. assets๋Š” ๋ฌด์„œ์›Œ์„œ ์•ˆ๊ฑด๋“ค์˜€๋‹ค.

์ง€์šฐ๊ธฐ ์ „

 

์ง€์šด ํ›„

<script setup>

</script>

<template>

</template>

<style scoped>

</style>

 

 

 

 

 


 

 

 

 

2.  ๋ผ์šฐํ„ฐ ์„ค์น˜ํ•˜๊ธฐ.

 

โ–ก  npm install vue-router

npm install vue-router๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ ์–ด ๋ผ์šฐํ„ฐ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ๋งํฌ ๋“ค์–ด๊ฐ€๋ฉด npm ๋ง๊ณ  yarn ์™ธ ๋‹ค์–‘ํ•œ ์„ค์น˜๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์„ธ์š”.

 

 

Vue Router | The official Router for Vue.js

The official Router for Vue.js

router.vuejs.org

 

 

 

โ–ก  router ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ณ , index.js ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

src ํ•˜์œ„์— ๋””๋ ‰ํ† ๋ฆฌ router๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  router ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— index.js ํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

 

โ–ก  views ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ณ , MainView.vue ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

 

 

 

โ–ก  index.js ํŒŒ์ผ์— ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ.

import { createRouter, createWebHistory } from 'vue-router'
import MainView from '../views/MainView.vue'

const routes = [
    { path: '/main',
        name: 'Main',
        component: MainView
    },
]

const router = createRouter({
    history: createWebHistory(),
    routes
})

export default router
http://localhost:5173/main ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ํ™”๋ฉด์ด ๋ณด์ด๋„๋ก ์„ค๊ณ„ํ•  ๊ฒƒ์ด๋‹ค. /main์„ MainView.vue์™€ ์—ฐ๊ฒฐํ•œ๋‹ค. const ํ‚ค์›Œ๋“œ๋Š” ์žฌ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. (์ž๋ฐ”๋กœ ๋”ฐ์ง€๋ฉด final ๊ฐ™์€ ์กด์žฌ์ธ ๊ฒƒ ๊ฐ™์€๋ฐ, ๋‹ค๋ฅธ ์ ์ด ์žˆ๋‹ค๋ฉด const๋Š” ๋ณ€์ˆ˜์—๋งŒ ์‚ฌ์šฉํ•˜๊ณ  final์€ ๋ณ€์ˆ˜ ์™ธ์— ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ์— ๋ถ™์ด๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด๋‹ค.) ๊ทธ๋ ‡๊ฒŒ routes์— const๋ฅผ ๋ถ™์—ฌ  ๋„ฃ์–ด๋‘” ์ •๋ณด๋“ค์ด ์™ธ๋ถ€์—์„œ ๋ณ€๋™๋˜์ง€ ์•Š๋„๋ก ๋งŒ๋“ ๋‹ค. ๋งจ ์•„๋ž˜ ์ฝ”๋“œ์— export default๊ฐ€ ์žˆ๋Š”๋ฐ export๋Š” import์™€ ๋ฐ˜๋Œ€๋กœ ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ๊ฐ์ฒด, ํด๋ž˜์Šค ๋“ฑ์„ ์™ธ๋ถ€์— ๋ณด๋‚ด๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด๊ณ , default๋Š” ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๊ฐœ์ฒด ํ•˜๋‚˜๋งŒ ์„ ์–ธ๋˜์–ด์žˆ๋Š” ๋ชจ๋“ˆ์„ ๋‚ด๋ณด๋‚ผ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐœ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋‹ค๋ฉด default๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  export๋งŒ ์ ์œผ๋ฉด ๋œ๋‹ค.

 

 

 

โ–ก  main.js ์ฝ”๋“œ ์ˆ˜์ •ํ•˜๊ธฐ

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import './assets/main.css'

const app = createApp(App)

app.use(router)
app.mount('#app')
app.use๋กœ router๋ฅผ ์—ฐ๊ฒฐํ–ˆ๊ณ , app.mount๋ฅผ ์‹œ์ผฐ๋‹ค. app.mount('#app')์€ Vue ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ HTML์— ์žˆ๋Š” id๊ฐ€ 'app'์ธ ์š”์†Œ์— ์‚ฝ์ž…ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. (๋‚ด๊ฐ€ ๋งŒ๋“  ๊ฒƒ๋“ค dom์— ๋„ฃ์–ด๋ผ ๋ผ๋Š” ๋“ฏ?) ์—ฌ๊ธฐ์„œ Dom์€ ์›น ํŽ˜์ด์ง€๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ฒด(ํŠธ๋ฆฌ ๊ตฌ์กฐ)๋กœ ๋งŒ๋“  ๊ฒƒ์ด๋‹ค. 

์•„๋ž˜์˜ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
<!DOCTYPE html>
<html>
  <body>
    <div id="app">
      <h1>Hello!</h1>
    </div>
  </body>
</html>


DOM์œผ๋กœ ๋ฐ”๊ฟ”๋ณด๊ฒ ๋‹ค.

Document
 โ””โ”€ html
     โ””โ”€ body
         โ””โ”€ div (id="app")
             โ””โ”€ h1 ("Hello!")

 

 

 

โ–ก App.vue ์ฝ”๋“œ ์ถ”๊ฐ€ํ•˜๊ธฐ
<router-view/> ์ถ”๊ฐ€ํ•œ๋‹ค.

<script setup>

</script>

<template>
  <router-view/>
</template>

<style scoped>

</style>
<router-view/>๋Š” vue-router ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋ฉด์„œ ์ž๋™์œผ๋กœ ์ œ๊ณต๋œ ์ปดํฌ๋„ŒํŠธ๋‹ค. npm install vue-routerํ•˜๋ฉด์„œ ์ž๋™์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๋‚ด์žฅ๋˜์—ˆ๋‹ค. <router-view/>๋Š” ํ˜„์žฌ ์ฃผ์†Œ์— ๋”ฐ๋ผ ํ…œํ”Œ๋ฆฟ์ด ๋ฐ”๋€Œ๋„๋ก ํ•œ๋‹ค. /main ๊ฒฝ๋กœ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์ด ๊ฒฝ๋กœ์— ๋งž๋Š” ํ…œํ”Œ๋ฆฟ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

 


 

 

 

3.  ๋ฐฐ๊ฒฝ์ƒ‰ ๋ฐ”๊พธ๊ธฐ.

 

โ–ก MainView.vue

<script>

</script>

<template>
  <div class="main-view">
  </div>
</template>

<style scoped>
.main-view {
  position: relative;
  width:  100vw;
  height: 100vh;
  background-color: lemonchiffon;
}


</style>
template๋Š” ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•˜๋ฉฐ ํ™”๋ฉด์„ ๋‹ด๋‹นํ•œ๋‹ค. script๋Š” ๋™์ž‘์„ ๋‹ด๋‹นํ•œ๋‹ค. ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ์™€ ํ–‰๋™์„ ์ •์˜ํ•˜๋Š”๋ฐ, import์™€ export๋„ ๋„ฃ๊ณ  ๋ฐ์ดํ„ฐ, ํ•จ์ˆ˜ ๋“ฑ๋„ ๋„ฃ๋Š”๋‹ค. <style>์€ ๋””์ž์ธ์„ ๋‹ด๋‹นํ•œ๋‹ค. scoped๊ฐ€ ๋ถ™์œผ๋ฉด ์ด ํŒŒ์ผ์—๋งŒ ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.

template์— ์ „์ฒดํ™”๋ฉด์„ ๋‹ด๋‹นํ•  main-view๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  style์—์„œ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ 100vw, 100vh๋ผ๊ณ  ํ•ด์คฌ๋‹ค. ์ฒ˜์Œ์—๋Š” 100%๋ผ๊ณ  ํ•ด์คฌ๋Š”๋ฐ ์ ์šฉ์ด ์•ˆ๋๋‹ค. ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ๋Š”๊ฑธ๊นŒ? vw(vh)๋Š” ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์˜ ๋„ˆ๋น„(ํ˜น์€ ๋†’์ด)๋ฅผ 100๋“ฑ๋ถ„ ํ•œ ๊ฒƒ ์ค‘ ๋ช‡์นธ์ด๋ƒ๋Š” ๋œป์ด๋‹ค. ๋งŒ์•ฝ 1vw(vh)๋ผ๊ณ  ์ ์—ˆ์œผ๋ฉด 100๋ถ„์˜ 1๋กœ 1%๋ฅผ ์˜๋ฏธํ•œ๋‹ค. % ๋‹จ์œ„๋Š” ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ช‡ %์ธ์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์‹ค์ œ ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. background-color๋กœ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ฐ”๊ฟ”๋ณด์•˜๋‹ค.

 

 

 

โ–ก ๊ฒฐ๊ณผ

 

 

 

 


 

 

์•„๋ž˜์— ์ถœ์ฒ˜๋ฅผ ๋‚จ๊ฒจ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค.
๋ธ”๋กœ๊ทธ์—” ์ œ๊ฐ€ ์ตœ๋Œ€ํ•œ ์ดํ•ดํ•œ ๋‚ด์šฉ๊นŒ์ง€๋งŒ ์ ๋Š”๊ฑฐ๋ผ
์ถœ์ฒ˜์— ๋“ค์–ด๊ฐ€์‹œ๋ฉด ๋” ๋งŽ์€ ๋‚ด์šฉ์ด ์žˆ์–ด ๊ณต๋ถ€ํ•˜์‹œ๋Š”๋ฐ ๋„์›€๋˜์‹ค๊ฒ๋‹ˆ๋‹ค.

 

๐Ÿชฝ

ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”

 


 

- ๋ฌธ๋ฒ•

 

ํ…œํ”Œ๋ฆฟ ๋ฌธ๋ฒ• | Vue.js

 

v3-docs.vuejs-korea.org

 

 

 

- ๋ผ์šฐํ„ฐ ์„ค์น˜

 

vue-router ์„ค์น˜๋ถ€ํ„ฐ ํ™˜๊ฒฝ์„ค์ • ๋ฐ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

๋ชฉ์ฐจ1. router ์„ค์น˜2. router ์„ค์ •3. router ์˜ˆ์ œ 1. router ์„ค์น˜ (yarn , npm) yarn ์„ค์น˜yarn add vue-router@4 npm ์„ค์น˜npm install vue-router@4 ์ฐธ๊ณ  : https://router.vuejs.org/installation.html 2. router ์„ค์ •router๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด 3๊ฐœ

icea.tistory.com

 

 

 

- const

 

๋ณ€์ˆ˜ ์ด์ •๋ฆฌ 1. var let const์™€ ์„ ์–ธ,ํ• ๋‹น,๋ฒ”์œ„ - ์ฝ”๋”ฉ์• ํ”Œ ์˜จ๋ผ์ธ ๊ฐ•์ขŒ

0:00 var let const๋กœ ๋ณ€์ˆ˜๋งŒ๋“ค์–ด ์“ฐ๋Š” ๋ฒ• 1:30 ์„ ์–ธ์ด๋ผ๋Š” ํŠน์ง•  2:48 ํ• ๋‹น์ด๋ผ๋Š” ํŠน์ง• 4:25 ์žฌํ• ๋‹น ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ถˆ๋ณ€์˜ Object๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด  6:52 ์กด์žฌ๋ฒ”์œ„๋ผ๋Š” ํŠน์ง•  10:10 ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ์„ ์–ธ์˜ Hoisting ํ˜„์ƒ

codingapple.com

 

 

 

- mount

 

[React] Mount, Update, Unmount

[React] Mount, Update, Unmount     React ์ปดํฌ๋„ŒํŠธ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด์€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งˆ์šดํŠธ(mount)๋  ๋•Œ, ์—…๋ฐ์ดํŠธ(update)๋  ๋•Œ, ๊ทธ๋ฆฌ๊ณ  ์–ธ๋งˆ์šดํŠธ(unmount)๋  ๋•Œ ๊ฐ๊ฐ์˜ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์ž…๋‹ˆ

y-chyachya.tistory.com

 

 

 

- export default

 

[JS] export, export default์˜ ์ฐจ์ด์ 

0. ๊ฐœ์š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ๋‚ด๊ฐ€ ๋งŒ๋“  ๋ชจ๋“ˆ์„ ๋งŒ๋“ค๊ณ  ๊ฐ€์ ธ์˜ฌ ๋•Œ import/export ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฌด์˜์‹์ ์œผ๋กœ export, export default ๋ฅผ ๋ฒˆ๊ฐˆ์•„ ๊ฐ€๋ฉฐ ์‚ฌ์šฉํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

velog.io