가이드
필수요소
- 설치방법
- 시작하기
- Vue 인스턴스
- 템플릿 문법
- computed와 watch
- 클래스와 스타일 바인딩
- 조건부 렌더링
- 리스트 렌더링
- 이벤트 핸들링
- 폼 입력 바인딩
- 컴포넌트
컴포넌트 톺아보기
- 컴포넌트 등록
- Props
- 커스텀 이벤트
- 슬롯(Slots)
- 동적 & 비동기 컴포넌트
- 예외적인 상황들
트랜지션 & 애니메이션
- 진입/진출 그리고 리스트 트랜지션
- 상태 트랜지션
재사용 & 컴포지션
- 믹스인
- 사용자 지정 디렉티브
- Render Functions & JSX
- 플러그인
- 필터
도구
- 싱글 파일 컴포넌트
- 단위 테스팅
- TypeScript 지원
- 프로덕션 배포 팁
스케일링 업
- 라우팅
- 상태 관리
- 서버사이드 렌더링
- 보안
내부
- 반응형에 대해 깊이 알아보기
마이그레이션1
- Vue 1.x에서 마이그레이션
- Vue Router 0.7.x으로 부터 마이그레이션
- Vuex 0.6.x에서 1.0로 마이그레이션
메타
- 다른 프레임워크와의 비교
- Vue.js 커뮤니티에 참여하세요!
- 팀 구성원 만나기
TypeScript 지원
Vue CLI 는 TypeScript 툴링 지원을 포함하여 제공됩니다.
NPM 패키지 공식 선언
A static type system can help prevent many potential runtime errors, especially as applications grow. That’s why Vue ships with official type declarations for TypeScript - not only in Vue core, but also for vue-router and vuex as well.
Since these are published on NPM, and the latest TypeScript knows how to resolve type declarations in NPM packages, this means when installed via NPM, you don’t need any additional tooling to use TypeScript with Vue.
추천 설정
|
컴포넌트 메소드에서 this
의 타입 체크를 활용하려면 strict: true
(또는 적어도 strict
플래그의 일부인 noImplicitThis: true
)를 포함해야합니다. 그렇지 않으면 항상 any
타입으로 처리됩니다.
TypeScript 컴파일러 옵션 문서에서 자세한 내용을 확인하세요
개발시 도구 활용
프로젝트 생성
Vue CLI 3 can generate new projects that use TypeScript. To get started:
|
에디터 서포트
TypeScript를 사용해 Vue를 개발하려면 Visual Studio Code를 사용하세요. TypeScript에 대한 기본적인 지원이 포함되어 있습니다.
싱글 파일 컴포넌트 (SFCs)를 사용하는 경우 훌륭한 Vetur extension를 사용해 TypeScript 유추를 제공합니다. 싱글 파일 컴포넌트 및 기타 많은 훌륭한 기능을 제공합니다.
또한 WebStorm은 타입스크립트와 Vue.js를 모두 지원합니다.
기본 사용법
Vue 컴포넌트 옵션안에서 TypeScript를 사용하려면 Vue.component
또는 Vue.extend
로 컴포넌트를 정의해야합니다.
|
클래스 스타일 Vue 컴포넌트
컴포넌트를 선언할 때 클래스 기반 API를 선호하는 경우 공식 vue-class-component 데코레이터를 사용할 수 있습니다.
|
플러그인과 함께 사용하기 위한 타입 확장
플러그인은 Vue에 전역 혹은 인스턴스 property와 컴포넌트 옵션을 추가할 수 있습니다. 이러한 경우 TypeScript에서 플러그인을 컴파일하려면 유형 선언이 필요합니다. 다행스럽게도 TypeScript에는 이미 존재하는 타입을 보충하기 위한 module augmentation이라는 기능이 있습니다.
예를 들어, instance property인 $myProperty
를 string
타입으로 선언하고자 하는 경우:
|
위의 코드를 선언 파일 형태로 (my-property.d.ts
처럼) include하면, $myProperty
를 Vue 인스턴스 내에서 사용할 수 있습니다.
|
추가적인 전역 property나 컴포넌트 옵션을 선언할 수도 있습니다.
|
위 선언들을 통해 다음과 같은 코드를 컴파일할 수 있게 됩니다.
|
반환 타입 어노테이팅
Vue의 선언 파일의 순환 특성때문에 TypeScript는 특정 메서드의 타입을 추론하는데 어려움이 있을 수 있습니다. 이런 이유로 render
와 같은 메소드와 computed
의 메소드에 리턴 타입에 어노테이팅이 필요가 있습니다.
|
타입 유추를 찾거나 멤버 자동완성이 효과가 없다면 특정 방법에 주석을 달아 이러한 문제를 해결하는데 도움이 될 수 있습니다. --noImplicitAny
옵션을 사용하면 많은 주석을 달지 않은 메소드를 찾을 수 있습니다.