
Vue.js에 대한 소개 및 프론트엔드 프레임워크의 역할과 특징에 대해 설명합니다.
자바스크립트 애플리케이션 실행 환경인 Node.js와 NPM 패키지 매니저를 설치하여 개발환경 설정을 준비합니다
vue cli를 통해 프로젝트를 생성합니다.
데이터 변수들을 화면에 출력하는 방법
스타일 추가하기
속성에 데이터 바인딩 하는 방법
v-for 반복문에 대해 학습합니다.
click 이벤트로 좋아요 버튼 기능을 만들고 각 영화정보 별로 좋아요 정보 업데이트 되도록 구현합니다.
이미지를 불러오는 방법과 상세페이지 모달창을 열고 닫는 기능을 학습합니다.
외부에 작성한 영화데이터를 export로 내보내고 import 문법으로 가져옵니다.
모달 창에 클릭한 영화정보를 동적으로 표시합니다.
영화정보 홈페이지의 주요 UI 요소들을 component로 분리하여 작성합니다.
컴포넌트로 분리된 상세정보(모달)창에 데이터를 전달합니다.
props 문법으로 부모 컴포넌트에서 자식 컴포넌트에게 데이터를 전달합니다.
$emit()이라는 커스텀 메소드를 사용하여 자식 컴포넌트에서 이벤트를 발생시켜 부모 컴포넌트에게 데이터 변경을 요청할 수 있습니다. 해당 기능을 이용하여 모달 컴포넌트에서 창을 닫는 기능까지 완성합니다.
component간 데이터 통신의 종합적인 응용입니다.
영화목록을 component로 만들어 props를 통해 영화 데이터를 전달합니다.
좋아요 버튼과 상세보기 관련 props를 전달하고 $emit을 통해 해당 기능이 동작할 수 있도록 합니다.
class를 동적으로 추가하는 방법에 대해 알아보고 이를 이벤트 창에 적용하여 닫기 기능을 구현합니다.
검색창에 사용자의 입력을 받는 기능을 구현합니다.
v-model 속성으로 사용자의 입력을 간편하게 처리할 수 있습니다.
watch 기능으로 검색창에 텍스트가 입력될 때 어떤 텍스트가 입력되었는지 검사하는 기능을 추가합니다.
실제 영화 데이터를 가져와서 검색어에 입력된 값과 영화제목을 비교하여 찾는 로직을 구현하고 검색 실패 시 경고 메시지를 출력하게 합니다.
검색어를 입력하면 영화데이터를 검색하는 기능을 구현합니다.
배열 데이터 복사를 다루는 방법에 대해 학습합니다.
영화 검색 결과를 확인한 후, 다시 전체보기로 돌아가는 기능을 구현합니다.
영화 데이터를 검색하여 좋아요 버튼이나 상세보기 창으로 연결시 정보가 올바르게 업데이트가 되지 않는 이유와 그 해결책으로 영화 데이터에 고유 id 속성을 부여하여 조회하는 방법에 대해 학습합니다.
이벤트 창의 광고 텍스트가 일정 시간이 지나면 다른 내용으로 업데이트 되도록 합니다. 이와 관련하여 라이프사이클 훅에 대해서 공부합니다.
이번 섹션에서 만들어 볼 포트폴리오 홈페이지 소개입니다.
Vue3에 최적화된 Vite로 프로젝트를 생성 및 빌드합니다.
Vue3의 Composition API를 활용합니다.
컴포넌트 단위로 페이지를 제작하고 라우팅으로 페이지 이동을 구현합니다.
빠른 디자인 구현을 위해 BootStrap5와 SASS를 활용합니다.
완성한 홈페이지를 다양한 방법으로 웹으로 배포합니다.
Veu3의 composition API의 주요 특징에 대해 알아보고 새로운 프로트엔드 빌드 도구인 vite로 프로젝트 설치합니다.
composition API의 상태변수를 관리하는 ref 함수와 라이프사이클 훅을 다루어 봅니다.
Composition API의 핵심 기능을 요약해서 정리합니다.
부모 컴포넌트에서 defineProps로 props(상태변수) 가져오는 법
컴포넌트 추가
스타일에 데이터 바인딩
watch 감시자
Vite로 Vue 3 프로젝트를 생성합니다.
CSS를 확장한 SASS(SCSS)문법을 사용하기 위해 해당 모듈을 설치합니다.
UI와 반응형웹을 빠르게 구현하기 위해 BootStrap(V5)을 추가합니다.
홈 화면에 네비게이션을 추가하고 타이틀 화면을 구성합니다.
BootStrap5와 CSS확장 언어인 SCSS문법으로 화면을 디자인 합니다.
Composition API 방식으로 컴포넌트를 제작(이후 공통)하며 데이터 바인딩에 대해 다룹니다. 특히 변수값에 HTML을 바인딩 하는 v-html 속성에 대해 다루어 봅니다.
포트폴리오 영역을 컴포넌트로 추가하고 작품 데이터를 외부 데이터를 분리하여 import 합니다.
이미지 등의 범용 자료들은 public에 보관하여 다루는 방법을 학습합니다.
작품 데이터를 포트폴리오 영역에 데이터 바인딩 합니다.
About 영역의 컴포넌트를 제작하고 Bootstrap5로 빠르게 디자인을 구현합니다.
싱글페이지와 멀티페이지 방식 홈페이지의 차이점에 대해 다루어 보고 vue-router 라이브러리를 설치하여 라우팅 기능을 구현합니다.
url parameter로 포트폴리오 상세페이지에 데이터(id값)를 전달하여 요청한 자료를 보여주는 동적인 페이지를 구현합니다.
App 컨포넌트에서 작품 데이터를 가져오도록 하고 props를 통해 자식 컴포넌트들에게 공유하는 형태로 데이터 관리를 일원화 합니다.
작품 상세 페이지에 props로 전달받은 데이터를 표시하고 세부 스타일까지 마무리 합니다.
router기능을 이용하여 페이지 이동이나 이전 페이지로 돌아가는 링크를 추가합니다.
대표적인 클라우드 서비스인 Github와 Vercel에 홈페이지를 배포하는 방법을 알려드립니다.
날씨정보 앱에 대한 주요 기능과 화면 구성을 알아봅니다.
vite로 vue 프로젝트를 생성하고 화면 구성안을 토대로 컴포넌트를 어떻게 구성할지 검토합니다.
Navbar 컴포넌트 및 앱에 필요한 아이콘을 Font Aswsome 라이브러리로 추가합니다.
검색창 컴포넌트를 추가합니다
날씨정보(WeatherInfo) 컴포넌트를 추가하고 main 컴포넌트에 검색창과 날씨정보 컴포넌트를 통합합니다.
OpenWeatherMap 서비스를 이용하여 실시간 날씨 데이터를 가져오는 방법에 대해 학습합니다.
애플리케이션에서 fetch 함수를 통해 날씨 데이터를 가져옵니다.
가져온 데이터들 중 앱에서 필요한 주요 정보들을 상태변수에 저장하여 화면에 표시합니다.
하위 컴포넌트로 props를 이용해 날씨 데이터를 전달하고 날씨 정보를 올바르게 표시합니다.
API에서 가져온 데이터를 바탕으로 아이콘 이미지나 온도 단위 변환이 필요합니다.
defineEmits으로 검색창에 입력된 값을 상위 컴포넌트에 전달하고 날씨 정보를 업데이트 합니다.
일반적인 상태관리와 전역상태 관리의 차이점과 필요한 이유
Vue의 상태관리 라이브러리인 Vuex 설치하기
Vuex 라이브러리로 전역 데이터를 관리하는 store파일을 만들고 데이터를 추가하여 화면에 업데이트 합니다.
Vuex Store에서 데이터를 변경하는 로직을 이해하고 변경할 수 있습니다.
actions 함수로 서버에서 데이터를 요청하는 비동기 작업을 수행 후 mutaion 함수를 호출하여 날씨정보를 업데이트합니다.
기존 각 컴포넌트들의 props, emits관련 코드들을 제거하고 store로 요청하는 작업으로 전환합니다.
앱 마운트시 store의 날씨 정보를 가져옵니다.
검색어 입력시 store의 날씨 정보를 업데이트 합니다.
store에 toggle 상태변수를 추가하고 About 컴포넌트를 toggle 기능으로 보여줍니다.
깃허브에 API KEY를 숨기고 배포 서비스와 연동하는 방법을 다룹니다.
Vue의 새로운 공식 상태관리 라이브러리인 Pinia를 소개합니다.
Vue Devtools라는 Vue 전용 개발자 도구를 브라우저에 설치하고 다루는 부분을 학습합니다.
기존의 날씨 앱에서 사용하던 Vuex를 Pinia로 마이그레이션 합니다.
프로젝트에 pinia를 설치하고 store를 생성합니다.
pinia store에 사용할 데이터와 함수를 추가합니다.
컴포넌트에서 pinia store를 불러와 사용하는 방법을 학습합니다.
각각의 컴포넌트에서 필요한 변수나 함수만 pinia store에서 가져와 사용하는 방법을 학습합니다.
유용한 학습 팁을 소개합니다.
상태변수를 다루는 문법이 한가지 더 있는데 reactive라는 함수가 있습니다.
ref와 어떤 차이점이 있는지 학습해 봅니다.
응용이니 정답이 아닌 여러분의 선택일 수 있습니다.
v-model과 defineModel로 양방향 데이터 전달을 손쉽게 다루는 방법을 알아봅니다.
Vue에서 의존하는 데이터가 변경될 때 자동으로 갱신되는 리액티브한 값을 처리하는 데 사용하는 computed 함수에 대해 학습합니다.
강의 개요:
이 강의는 최신 웹 개발 트렌드에 부합하는 Vue 3와 Vite를 중심으로 구성되었습니다. Vue 3는 Composition API를 도입하여 더 모듈러하고 간결한 코드 작성을 지원하며, Vite는 빠르고 간편한 빌드 도구로 최신 프론트엔드 개발에 이상적입니다.
문법만 배우다 지루해서 포기하지 마시고 프로젝트를 만들면서 배워보세요!
- 2024 3월 API 활용 및 Vuex 관련 추가 콘텐츠 업데이트 완료
- 2024 3월 새로운 상태관리 라이브러리 Pinia 관련 콘텐츠 업데이트 완료
주요 내용:
영화정보:
Vue 3의 주요 특징과 기본 기능을 학습
컴포넌트, 데이터 관리, props, 이벤트 핸들링, 라이프사이클 등
포트폴리오 홈페이지:
Vue 3와 Vite를 사용하여 프로젝트 초기 설정부터 빌드 및 배포까지
Composition API 활용
페이지 라우팅
Bootstrap5와 SASS로 스타일링 하기
빌드 및 배포하기
날씨정보 앱
서버에 데이터 요청하기
날씨 API 활용
props와 emit으로 데이터 관리
Vuex로 전역 상태관리 마이그레이션
더 나은 상태관리를 위한 Pinia
Vue 개발자 도구 활용하기
스토어에 데이터를 저장하는 방법
컴포넌트에서 store에 접근하는 방법