Web/vue.js

프로젝트로 배우는 Vue.js 3_프로젝트 설정

꼬부기개발자 2025. 3. 11. 20:59

요즘 Vue.js 학습의 필요성을 느꼈다. 이번 기회에 인프런 강의를 통해 Vue.js를 체계적으로 공부하며 배운 내용을 정리해보려 한다. 기록을 통해 학습 내용을 정리하고, 이후에 다시 참고할 수 있는 자료로 남기고자 한다.

 

프로젝트 설정

1. 사전준비

Vue.js 를 실행시키기 위해선 Node.js 프레임워크를 설치해야한다.

https://nodejs.org/ko

 

 

 

2. Vue cli 설치

명령줄 인터페이스인 Vue cli 최신 버전 글로벌로 설치한다.

npm install -g @vue/cli

정상적으로 설치가 됐으면 cmd에서 vue -V 로 확인한다.

 

3.프로젝트 생성

vue create {프로젝트명}

원하는 위치로 이동하여 해당 명령어를 실행하면 프로젝트 폴더가 생성된다. 이후 Vue 버전을 선택할 수 있는데 본인은 3버전을 선택하였다.

 


폴더 구조

//package.json

"dependencies": {
    "core-js": "^3.8.3",
    "vue": "^3.2.13"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3"
  },
  • package.json은 프로젝트의 설정과 의존성을 관리하는 파일이다.
  • "dependencies": 애플리케이션 실행 시 필요한 패키지들
  • "devDependencies": 개발 환경에서만 필요한 패키지들
my-vue-app
├── public
│   └── index.html   # 가장 먼저 로드되는 파일
├── src
│   ├── main.js      # Vue 애플리케이션 진입 파일
│   ├── App.vue      # 최상위 컴포넌트
│   └── components   # 기타 컴포넌트들
└── package.json
  • Vue.js 애플리케이션은 SPA(단일 페이지 애플리케이션)로 작동한다.
  • 서버에 접속하면 가장 먼저 index.html 파일이 브라우저에 전달되고, 이후에 Vue.js가 동적으로 화면을 구성한다..
  • 개발 서버(vite, webpack 등)가 기본적으로 이 파일을 루트 엔트리 포인트로 설정한다.
//index.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>My Vue App</title>
</head>
<body>
  <div id="app"></div> <!-- Vue가 마운트되는 위치 -->
  <script type="module" src="/src/main.js"></script>
</body>
</html>

 

  • #app이라는 div 요소는 Vue 인스턴스가 마운트되는 위치이다.
  • Vue의 main.js 파일에서 이 요소에 애플리케이션을 붙인다.
//main.js
import { createApp } from 'vue';
import App from './App.vue';

createApp(App).mount('#app');

 

  • Vue 컴포넌트들을 mount 시킨다(여기선 #app)