본문 바로가기
프론트엔드

Vite 기본 폴더 구조

by 느바 2025. 3. 29.
반응형

Vite 기본 폴더 구조

 

npm create vite@latest 명령어로 Vite 프로젝트를 생성하면 기본적으로 다음과 같은 폴더 구조가 생성됩니다.

my-vite-project/
├── node_modules/
├── public/
│   ├── favicon.ico
├── src/
│   ├── assets/
│   │   ├── logo.svg
│   ├── App.jsx (또는 App.tsx, App.vue 등)
│   ├── main.jsx (또는 main.tsx, main.js 등)
├── .gitignore
├── index.html
├── package.json
├── package-lock.json (또는 yarn.lock, pnpm-lock.yaml)
├── README.md
├── vite.config.js (또는 vite.config.ts)
📁 폴더 및 파일 설명

1. node_modules/

  • 프로젝트에서 설치한 모든 npm 패키지들이 저장되는 폴더입니다.
  • package.json에 정의된 의존성을 기반으로 npm install 시 자동 생성됩니다.

2. public/

  • 정적 파일(예: favicon.ico, 이미지, 폰트 등)이 저장되는 폴더입니다.
  • Vite는 이 폴더의 파일을 빌드 시 변경하지 않고 그대로 제공하므로, public/에 있는 파일은 / 경로에서 바로 접근할 수 있습니다.
  • 예: public/logo.png → 브라우저에서 http://localhost:5173/logo.png 로 접근 가능

3. src/

  • 프로젝트의 주요 소스 코드가 위치하는 폴더입니다.

📁 src/assets/

  • 이미지, CSS, 폰트 등 프로젝트에서 사용하는 정적 리소스를 저장하는 폴더입니다.
  • import를 통해 직접 JavaScript/TypeScript 파일에서 불러올 수 있습니다.
  • 예: import logo from './assets/logo.svg'

📄 src/main.js (또는 main.tsx, main.jsx)

  • 애플리케이션의 진입점(entry point) 파일입니다.
  • 보통 index.html에서 이 파일을 로드하여 앱이 실행됩니다.

📄 src/App.jsx (또는 App.vue, App.tsx)

  • 기본적으로 제공되는 메인 컴포넌트 파일입니다.
  • React 프로젝트라면 App.jsx, Vue 프로젝트라면 App.vue 파일이 생성됩니다.

4. .gitignore

  • Git에 포함되지 않을 파일을 정의하는 파일입니다. (node_modules/, dist/ 등)

5. index.html

  • 프로젝트의 기본 HTML 파일입니다.
  • 중요한 점은, 일반적인 웹 개발과 다르게 index.html이 public/이 아니라 프로젝트 루트에 위치한다는 것입니다.
  • Vite는 index.html을 직접 처리하며, <script type="module" src="/src/main.js"></script> 같은 방식으로 JS를 로드합니다.

6. package.json

  • 프로젝트의 메타데이터와 의존성을 관리하는 파일입니다.
  • 주요 스크립트: 
    • npm run dev → 개발 서버 실행
    • npm run build → 프로젝트를 배포용으로 빌드
    • npm run preview → 빌드된 파일을 로컬에서 확인
"scripts": {
  "dev": "vite",
  "build": "vite build",
  "preview": "vite preview"
}

7. vite.config.js (또는 vite.config.ts)

  • Vite의 설정 파일입니다.
  • 기본적으로 ESM(ES Modules) 방식의 JavaScript 또는 TypeScript 파일이며, Vite의 플러그인, 경로 별칭, 서버 설정 등을 조정할 수 있습니다.

✨ 요약

  • public/ → 정적 파일 저장 (빌드 시 변경되지 않음)
  • src/ → 주요 애플리케이션 코드 (컴포넌트, 스타일, 스크립트 등)
  • index.html → 애플리케이션의 진입점
  • vite.config.js → Vite 설정 파일
  • package.json → 프로젝트 메타정보 및 npm 스크립트

이 폴더 구조를 기반으로 개발을 진행하면 됩니다!

 

 

'프론트엔드' 카테고리의 다른 글

Pretendard 폰트  (0) 2025.04.13
Lottie 애니메이션  (0) 2025.04.12
Vite vs 프레임워크  (0) 2025.03.29
DispatcherServlet web.xml  (1) 2025.01.26
스프링 MVC 요청 처리 흐름으로 알아본 스프링 MVC 설계구조  (0) 2025.01.26