Vue 애플리케이션을 시작하려면 명령어을 사용 하세요.
1 | npm create vue@latest |
공식 Vue 프로젝트 스캐폴딩 도구인 create-vue
를 설치하고 실행합니다. 설치 시 프로젝트 이름, TypeScript 설정, JSX 및 테스트 지원과 같은 몇 가지 선택적 기능에 대한 프롬프트가 표시됩니다:
1 | ✔ Project name: … <your-project-name> |
SPA(단일 페이지 애플리케이션)의 경우 Vue 라우터를 포함해야 합니다. SPA를 생성하라는 메시지가 표시되면 긍정적으로 응답합니다.
옵션에 대해 확신이 서지 않는다면 일단 엔터키를 눌러 No
를 선택하면 됩니다.
프로젝트가 생성되면 지침에 따라 종속 패키지를 설치하고 개발 서버를 시작합니다.
1 | cd <your-project-name> |
Single-Page Application(SPA) 폴더 구조
1 | my-vue-app/ |
일반적인 Vue SPA 구조에는 다음이 포함됩니다.
- public/: 웹 서버에서 직접 제공하는 index.html 및 기타 assets을 포함합니다.
- src/: assets, components, views, router, App.vue 및 main.js를 포함하여 Vue 애플리케이션의 소스 코드를 보유합니다.
- assets/: 이미지 및 글꼴과 같은 정적 리소스를 포함합니다.
- components/: 재사용 가능한 Vue 컴포넌트를 포함합니다.
- views/: 다양한 views 나 pages를 나타내는 다양한 컴포넌트가 포함되어 있습니다.
- router/: Vue Router 관련 파일 및 경로 정의를 포함합니다.
- store/: 상태 관리를 위해 Vuex를 사용하는 경우 이 폴더에는 Vuex 스토어 관련 파일이 저장됩니다.
- App.vue: 전체 애플리케이션의 루트 Vue 컴포넌트 및 진입점 역할을 합니다.
- main.js: Vue 앱을 초기화하고, 라우터를 구성하고, 앱을 DOM에 마운트 합니다.
main.js
파일은 애플리케이션을 설정합니다.
1 | import { createApp } from 'vue'; |
App.vue
파일
1 | <template> |
Script
기본 포트를 변경하려면 package.json
의 script
태그를 사용자 정의 스크립트로 수정하세요.
1 | "scripts": { |
업데이트된 포트에서 애플리케이션을 시작하려면 명령어를 실행하세요.
1 | npm run dev-local |
Navigation
MPA(Multi-Page Application)와 SPA(Single Page Application)는 웹 애플리케이션 구축을 위한 두 가지 서로 다른 아키텍처 접근 방식입니다. 주요 차이점은 콘텐츠 탐색 및 렌더링을 처리하는 방법에 있습니다.
MPA
- MPA에서 각 페이지는 일반적으로 별도의 HTML 파일에 해당합니다.
- 각 링크나 상호 작용이 서버에 대한 요청을 트리거하고 전체 페이지가 대체되므로 페이지 간 탐색에는 전체 페이지 다시 로드가 포함됩니다.
- 서버는 각 페이지의 HTML을 렌더링 하고 제공하는 일을 담당합니다.
SPA
- SPA에는 애플리케이션의 진입점 역할을 하는 단일 HTML 파일이 있습니다.
- 애플리케이션 내 탐색은 일반적으로 Vue Router와 같은 클라이언트 측 라우터를 사용하여 JavaScript로 처리됩니다.
- 사용자가 애플리케이션과 상호 작용할 때 필요한 구성 요소만 DOM 안팎으로 동적으로 로드되고 교체됩니다.
Performance
MPA
- 전체 페이지를 다시 로드하면 특히 콘텐츠가 많은 페이지에서 성능이 느려질 수 있습니다.
- CSS 및 JavaScript와 같은 리소스는 각 페이지 요청마다 새로 로드됩니다.
SPA
- SPA는 필요한 데이터만 서버에서 가져오고 전체 페이지를 다시 로드하지 않고도 페이지 전환이 더 원활해지기 때문에 더 빠르고 원활한 사용자 환경을 제공할 수 있습니다.
- 초기 페이지와 자산이 로드되면 후속 상호 작용에 추가 서버 요청이 필요하지 않으므로 사용자 경험이 더 빨라질 수 있습니다.