[typescript] 타입스크립트와 Rollup을 함께 사용하는 node.js 개발 방법

타입스크립트(TypeScript)는 정적 타입을 지원하는 JavaScript의 상위 집합 언어입니다. 이를 통해 개발자는 더 안정적이고 유지보수하기 쉬운 코드를 작성할 수 있습니다. Rollup은 ES6 모듈을 더 작고 빠르며 간결한 형태로 번들링해주는 도구입니다. 이번 포스트에서는 타입스크립트와 Rollup을 함께 사용하여 node.js 애플리케이션을 개발하는 방법에 대해 알아보겠습니다.

개발 환경 설정

우선, 타입스크립트 및 Rollup을 사용하기 위한 개발 환경을 설정해야 합니다.

패키지 초기화 및 의존성 설치

먼저 프로젝트 디렉토리를 생성하고, npm을 사용하여 패키지를 초기화합니다.

mkdir my-node-app
cd my-node-app
npm init -y

다음으로 타입스크립트와 Rollup 관련 의존성 패키지를 설치합니다.

npm install typescript rollup @rollup/plugin-commonjs @rollup/plugin-node-resolve rollup-plugin-terser --save-dev

타입스크립트 설정

타입스크립트 프로젝트를 설정하기 위해 tsconfig.json 파일을 프로젝트 루트에 생성하고, 필요한 옵션을 추가합니다.

{
  "compilerOptions": {
    "target": "es6",
    "module": "es6",
    "outDir": "dist",
    "strict": true
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}

Rollup 설정

Rollup 설정 파일을 생성하고, 필요한 플러그인을 추가합니다. rollup.config.js 파일을 프로젝트 루트에 생성하여 아래와 같이 설정합니다.

import commonjs from '@rollup/plugin-commonjs';
import nodeResolve from '@rollup/plugin-node-resolve';
import { terser } from 'rollup-plugin-terser';

export default {
  input: 'src/index.ts',
  output: {
    file: 'dist/bundle.js',
    format: 'cjs'
  },
  plugins: [
    nodeResolve(),
    commonjs(),
    terser()
  ]
};

코드 작성

이제 타입스크립트로 node.js 애플리케이션을 작성할 수 있습니다. src 디렉토리 안에 index.ts 파일을 생성하고, 원하는 기능을 구현합니다.

// src/index.ts
const greet = (name: string): string => {
  return `Hello, ${name}!`;
};

export default greet;

번들링 및 실행

모든 설정이 완료되었으므로 Rollup을 사용하여 타입스크립트 코드를 번들링하고 실행해보겠습니다.

npx rollup -c
node dist/bundle.js

결론

이제 타입스크립트와 Rollup을 함께 사용하여 node.js 애플리케이션을 개발하는 방법에 대해 알게 되었습니다. 이를 통해 타입 안정성과 모듈 번들링의 이점을 동시에 누릴 수 있습니다.

위의 내용을 바탕으로 기존의 node.js 애플리케이션을 타입스크립트와 Rollup을 사용하는 형태로 변경해보시기 바랍니다.

참고 자료

이상으로 타입스크립트와 Rollup을 함께 사용하여 node.js 애플리케이션을 개발하는 방법에 대해 알아보았습니다. 감사합니다.