TypeScript - 삼 重 슬래시 디렉티브: 초보자 가이드

안녕하세요, 미래의 코딩 슈퍼스타! ? TypeScript의 매력적인 세계에 들어가 준비되셨나요? 오늘 우리는 처음에는 조금 두려울 수 있는 주제를 탐구할 거예요: 삼 重 슬래시 디렉티브. 하지만 걱정 마세요! 이 수업이 끝나면 이 강력한 도구들을 프로처럼 사용할 수 있을 거예요. 그럼 시작해 보겠습니다!

TypeScript - Triple-Slash Directives

삼 重 슬래시 디렉티브는 무엇인가요?

먼저 기본적인 내용부터 알아보겠습니다. 삼 重 슬래시 디렉티브는 TypeScript의 특별한 주석으로, 세 개의 전방 슬래시(///)로 시작합니다. 이 것은 TypeScript 컴파일러에게 우리의 코드를 어떻게 처리해야 할지에 대한 특별한 지시를 주는 비밀의 메시지입니다.

삼 重 슬래시 디렉티브는 다음과 같이 보입니다:

/// <reference path="myFile.ts" />

이것은 "이 파일도 확인해 줘!"라고 TypeScript 컴파일러에게 작은 메모를 남기는 것과 같습니다.

삼 重 슬래시 디렉티브의 유형

이제 이 디렉티브의 모양을 알고 있으므로, 두 가지 주요 유형을 탐구해 보겠습니다:

  1. 참조 디렉티브
  2. 모듈 시스템 디렉티브

이 두 가지 디렉티브에 대해 자세히 알아보겠습니다. 준비되셨나요? 그럼 시작해 보겠습니다!

참조 디렉티브

참조 디렉티브는 무엇인가요?

참조 디렉티브는 코드의 비밀한 표지입니다. TypeScript에게 "여기에 중요한 것들이 있으니 알아봐!"라고 말합니다.

<reference path> 디렉티브

이것은 가장 흔한 참조 디렉티브 유형입니다. TypeScript에게 컴파일할 때 다른 파일을 포함하도록 지시합니다.

다음은 예제입니다:

/// <reference path="./utils.ts" />

function greetUser(name: string) {
console.log(`Hello, ${name}!`);
}

greetUser(getUserName());

이 예제에서 우리는 TypeScript에게 utils.ts 파일을 포함하도록 지시하고 있습니다. 이 파일에는 getUserName() 함수가 포함될 수 있습니다.

<reference types> 디렉티브

이 디렉티브는 패키지에 대한 의존성을 선언할 때 사용됩니다. 선언 파일(.d.ts 파일)과 함께 작업할 때 특히 유용합니다.

다음은 예제입니다:

/// <reference types="node" />

import * as fs from 'fs';

fs.readFile('example.txt', (err, data) => {
if (err) throw err;
console.log(data);
});

이 경우 우리는 'node' 패키지의 타입을 사용하고 있음을 TypeScript에게 알립니다. 이는 fs 모듈을 가져올 때 TypeScript가 이해할 수 있도록 도와줍니다.

모듈 시스템 디렉티브

이제 모듈 시스템 디렉티브로 이동해 보겠습니다. 이 것은 우리의 코드가 다른 코드와 어떻게 소통해야 하는 규칙을 설정하는 것입니다.

<amd-module> 디렉티브

이 디렉티브는 AMD(Asynchronous Module Definition) 모듈과 함께 작업할 때 사용됩니다. 모듈의 이름을 설정할 수 있습니다.

다음은 예제입니다:

/// <amd-module name="GreetingModule"/>

export function sayHello(name: string) {
return `Hello, ${name}!`;
}

이 경우 우리는 TypeScript에게 이 AMD 모듈을 "GreetingModule"이라고 이름을 지정하도록 지시합니다.

<amd-dependency> 디렉티브

이 디렉티브는 컴파일러에게 모듈의 의존성을 주입해야 할 것을 알립니다.

다음은 예제입니다:

/// <amd-dependency path="legacy/moduleA" name="moduleA"/>
import moduleA = require('moduleA');
moduleA.doSomething();

이 예제에서 우리는 TypeScript에게 고전적인 모듈에 대한 의존성을 알리고, 코드에서 사용할 수 있는 이름을 지정합니다.

모든 것을 함께 묶어서

이제 이 디렉티브들을 탐구했으므로, 실제 세계의 시나리오에서 어떻게 사용될 수 있는지 보겠습니다:

/// <reference path="./types.d.ts" />
/// <reference types="node" />
/// <amd-module name="MyAwesomeModule"/>

import * as fs from 'fs';
import { MyCustomType } from './types';

export function processData(data: MyCustomType) {
fs.writeFile('output.txt', JSON.stringify(data), (err) => {
if (err) throw err;
console.log('Data written to file');
});
}

이 예제에서 우리는 여러 디렉티브를 사용하고 있습니다:

  1. 로컬 타입 정의 파일을 참조합니다.
  2. 'node' 타입에 대한 의존성을 선언합니다.
  3. AMD 모듈의 이름을 설정합니다.

그런 다음, Node.js의 fs 모듈과 우리의 커스텀 타입을 함수에서 사용합니다.

결론

그렇게 해서 TypeScript 삼 重 슬래시 디렉티브의 세계로 첫 걸음을 뗐습니다. 이 강력한 도구들은 의존성 관리, 다양한 모듈 시스템과의 작업, TypeScript 프로젝트의 정리에 도움이 될 수 있습니다.

기억하시자, 프로그래밍에서 어떤 도구든 연습이 관건입니다. 그러므로 자신의 프로젝트에서 이 디렉티브를 실험해 보지 마세요. 얼마 지나지 않아 프로처럼 사용할 수 있을 것입니다!

미래의 TypeScript 마스터, 행복하게 코딩하세요! ?

디렉티브 목적 예제
<reference path> 다른 파일 포함 /// <reference path="./utils.ts" />
<reference types> 패키지에 대한 의존성 선언 /// <reference types="node" />
<amd-module> AMD 모듈 이름 설정 /// <amd-module name="GreetingModule"/>
<amd-dependency> AMD 의존성 선언 /// <amd-dependency path="legacy/moduleA" name="moduleA"/>

Credits: Image by storyset