[typescript] 타입스크립트를 사용한 Vue.js 모듈 시스템

이번 포스팅에서는 타입스크립트(TypeScript)를 사용하여 Vue.js 애플리케이션에서 모듈 시스템을 구축하는 방법을 살펴보겠습니다.

1. 타입스크립트 및 Vue.js 프로젝트 초기화

먼저, Vue CLI를 사용하여 타입스크립트로 된 Vue.js 프로젝트를 초기화합니다.

vue create --default my-vue-app

위 명령어를 통해 새로운 Vue.js 프로젝트를 생성할 수 있습니다. 그 후, TypeScript 옵션을 선택하여 타입스크립트를 프로젝트에 추가합니다.

2. 타입스크립트로 된 Vue 모듈 생성

// MyComponent.ts
import { Vue, Component, Prop } from 'vue-property-decorator';

@Component
export default class MyComponent extends Vue {
  @Prop() private title!: string;
  private message: string = 'Hello, ';

  get computedMessage() {
    return this.message + this.title;
  }

  private onClick() {
    console.log('Button clicked!');
  }
}

위 코드는 Vue Property Decorator를 사용하여 작성된 타입스크립트로 된 Vue 컴포넌트 예시입니다. Prop 데코레이터를 사용하여 컴포넌트 속성을 정의하고, 메소드와 계산된 속성(computed property)을 선언하고 있습니다.

3. 모듈을 Vue 애플리케이션에 등록

// main.ts
import Vue from 'vue';
import MyComponent from './MyComponent.vue';

new Vue({
  el: '#app',
  render: h => h(MyComponent, {
    props: {
      title: 'World'
    }
  })
});

위 코드에서는 MyComponent를 Vue 애플리케이션에 등록하고, Props를 전달하는 예시를 보여주고 있습니다.

4. TypeScript 기반의 Vue 모듈 시스템 완성

이제 타입스크립트로 된 Vue 모듈 시스템이 완성되었습니다. 타입스크립트의 강력한 정적 타입 검사와 Vue.js의 유연한 컴포넌트 시스템을 결합하여, 더욱 견고하고 확장 가능한 Vue 애플리케이션을 개발할 수 있습니다.

참고 문헌: