[typescript] Vue.js와 타입스크립트를 통한 웹팩 설정

이번에는 Vue.js 프레임워크와 타입스크립트를 사용하여 웹팩을 설정하는 방법에 대해 알아보겠습니다. Vue.js는 단순한 문법과 강력한 기능을 제공하는 프론트엔드 프레임워크이며, 타입스크립트는 자바스크립트의 상위 집합 언어로 타입 추론, 정적 타입 검사 등을 지원합니다. 웹팩은 모듈 번들러로, 프로젝트에서 사용되는 모든 모듈을 하나의 파일로 패키징하여 웹 애플리케이션을 생성합니다.

프로젝트 설정

우선 Vue CLI를 사용하여 Vue.js 프로젝트를 생성합니다. 이후 타입스크립트를 추가하려면 추가적인 설정이 필요합니다. 먼저 필요한 패키지들을 설치해야 합니다.

npm install -D typescript ts-loader

웹팩 설정

웹팩을 설정하기 위해 webpack.config.js 파일을 작성합니다. 이 파일은 웹팩에 대한 설정을 담고 있습니다.

const path = require('path');

module.exports = {
  entry: './src/main.ts',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  resolve: {
    extensions: ['.ts', '.js', '.vue']
  },
  module: {
    rules: [
      {
        test: /\.ts$/,
        exclude: /node_modules/,
        use: {
          loader: 'ts-loader',
          options: {
            appendTsSuffixTo: [/\.vue$/]
          }
        }
      },
      {
        test: /\.vue$/,
        loader: 'vue-loader'
      }
    ]
  }
};

위 설정은 타입스크립트와 Vue 파일을 처리하기 위한 웹팩의 기본적인 구성입니다. 위 설정에서 ts-loader를 사용하여 타입스크립트 파일을 처리하고, vue-loader를 사용하여 Vue 파일을 처리하도록 설정했습니다.

Vue 파일 작성

이제 Vue 파일을 작성할 때 타입스크립트를 사용할 수 있습니다.


// Hello.vue
<template>
  <div>
    {{ message }}
  </div>
</template>

<script lang="ts">
import { Vue, Component } from 'vue-property-decorator';

@Component
export default class Hello extends Vue {
  message: string = 'Hello, Vue.js with TypeScript!';
}
</script>

위 예제에서는 lang="ts"를 사용하여 <script> 부분에 있는 코드가 타입스크립트로 작성되었음을 명시하였습니다.

이제 코드를 작성하고 타입스크립트와 Vue.js를 함께 사용하여 웹팩을 설정하는 방법에 대해 알아보았습니다. 이를 통해 프로젝트에서 강력한 타입 시스템을 사용하면서도 Vue.js의 강력한 기능을 활용할 수 있습니다.

참고문헌: