생성된 프로젝트 구조
Vue 프로젝트가 생성하는 파일과 폴더를 둘러봅니다.
생성된 프로젝트 구조은(는) CoddyKit의 무료 Vue Academy 강의입니다. 이것은 3개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Vue Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Vue Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
프로젝트 둘러보기
뼈대가 생성된 Vue 프로젝트에는 예측 가능한 폴더 구조가 있습니다.
- src/ 애플리케이션 소스 코드
- public/ 있는 그대로 제공되는 정적 자산
- package.json 종속성과 스크립트
- index.html Vue가 마운트되는 페이지
각 항목의 위치를 알면 프로젝트를 빠르게 탐색할 수 있습니다.
src 폴더
src/ 폴더에는 직접 작성하는 모든 내용이 들어 있습니다.
src/
assets/ # images, fonts, global CSS
components/ # reusable .vue components
App.vue # root component
main.js # application entry pointmain.js 진입점
main.js에서 앱이 시작됩니다. 이 파일이 앱을 생성하고 마운트합니다.
import { createApp } from "vue"
import App from "./App.vue"
import "./assets/main.css"
createApp(App).mount("#app")App.vue 루트 컴포넌트
App.vue는 루트 컴포넌트입니다. 다른 모든 컴포넌트는 이 안에 들어갑니다.
<template>
<header>
<h1>My App</h1>
</header>
<main>
<HelloWorld msg="Welcome" />
</main>
</template>
<script setup>
import HelloWorld from "./components/HelloWorld.vue"
</script>components 폴더
components/ 폴더에는 재사용 가능한 단일 파일 컴포넌트가 들어 있습니다.
- .vue 파일 하나가 컴포넌트 하나입니다
- 필요한 곳에서 해당 컴포넌트를 가져옵니다
- 앱이 커지면 하위 폴더로 정리합니다
public 폴더
public/ 폴더에는 빌드 출력물에 있는 그대로 복사되는 정적 파일이 들어 있습니다.
- 이 폴더의 파일은 번들러가 처리하지 않습니다
- 파비콘, robots.txt 또는 변경되지 않는 자산에 사용합니다
- 루트에서 시작하는 절대 경로로 참조합니다
index.html 마운트 지점
index.html은 유일한 HTML 페이지입니다. 이 페이지에는 마운트 대상이 들어 있습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<title>My App</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>package.json
package.json은 프로젝트와 프로젝트의 종속성을 설명합니다.
{
"name": "my-vue-app",
"version": "0.0.0",
"dependencies": {
"vue": "^3.4.0"
},
"devDependencies": {
"vite": "^5.0.0"
}
}package.json 스크립트
scripts 섹션에서는 npm run으로 실행할 명령을 정의합니다.
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
}
}assets와 public 비교
정적 파일을 저장하는 방법은 두 가지입니다.
- src/assets/ 번들러가 처리하고, 캐싱을 위해 해시를 추가하며, 코드에서 가져옵니다
- public/ 있는 그대로 복사하며, 고정 경로로 참조합니다
가져와서 사용하는 항목에는 assets를, 안정적인 URL을 유지해야 하는 항목에는 public을 사용하세요.
전체 동작 방식
앱이 로드될 때의 흐름은 다음과 같습니다.
- 브라우저가 index.html을 로드합니다
- 모듈 스크립트 태그를 통해 main.js를 실행합니다
- main.js가 App.vue를 #app에 마운트합니다
- App.vue가 자식 컴포넌트를 렌더링합니다
빠른 확인
프로젝트 구조를 제대로 이해했는지 테스트해 보세요.
복습: 프로젝트 구조
Vue 프로젝트 구조를 살펴보았습니다.
- src/에 코드가 들어 있습니다
- main.js가 앱을 시작합니다
- App.vue가 루트 컴포넌트입니다
- components/에 재사용 가능한 부분이 들어 있습니다
- public/과 index.html이 정적 콘텐츠를 제공합니다
- package.json이 종속성과 스크립트를 정의합니다
다음에는 CLI를 구성하고 플러그인을 추가합니다.
자주 묻는 질문
“생성된 프로젝트 구조” 강의는 무료인가요?
네 — “생성된 프로젝트 구조” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Vue Academy 강의 전체를 잠금 해제할 수 있습니다. Vue Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
“생성된 프로젝트 구조”에서 뭘 배우나요?
Vue 프로젝트가 생성하는 파일과 폴더를 둘러봅니다. 브라우저에서 직접 실행하는 실습 코드로 Vue Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Vue Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Vue Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 2번째 강의입니다.
“생성된 프로젝트 구조” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Vue Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Vue Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Vue CLI 설치
- 생성된 프로젝트 구조
- CLI 설정과 플러그인