타입스크립트의 모듈시스템이란?
es6의 modules와 동일하다!
import 해오고, export 하는 방식이다.
아래 코드를 모듈화해보았다.
모듈화하기1 - 간단한 예제
types.ts
//1. types.ts
export interface TodoItem {
title: string;
checked: boolean;
}
위의 interface만 따로 떼어서 types.ts 라는 파일을 만들고,
그대로 export 해주었다.
app.ts
//2. app.ts
import { TodoItem } from './types'; //여기서 ts 파일 import
var item: TodoItem = {
title: '할일',
checked: false
}
분리한 ts 파일을 import로 불러온 다음, 그대로 사용하였다.
es6와 동일한 것을 알 수 있다.
모듈화하기2 - 여러개일때는 ? 이것또한 es6와 동일 ! !
types.ts
//types.ts
interface PhoneNumberDictionary {
[phone: string]: {
num: number;
}
}
interface Contact {
name: string;
address: string;
phones: PhoneNumberDictionary;
}
enum PhoneType {
Home = 'home',
Office = 'office',
Studio = 'studio',
}
//interface 3개 export
export {
PhoneNumberDictionary,
Contact,
PhoneType
}
app.ts
import { PhoneNumberDictionary, Contact, PhoneType } from "./types";
function fetchContacts(): Promise<Contact[]> {
const contact: Contact[] = [
{
name: 'Tony',
address: 'Malibu',
phones: {
home: {
num: 123
},
office: {
num: 456
}
}
}
];
}
마찬가지로 사용방법은 es6와 동일한 것을 알 수 있다.
반응형
'Typescript' 카테고리의 다른 글
[typescript] 타입선언은 대체 어디에 ? ? 타입이 똑같아도 모든파일에서 다 ? (컴포넌트간 타입선언 해보기) (0) | 2022.01.23 |
---|---|
[typescript] ts파일안에 html 파일 import 할때 타입선언하기 (InstaceType) (0) | 2022.01.17 |
[typescript 기본] 타입호환 (함수/제네릭 예제) - 어디까지 어떻게 호환되나요 ? (0) | 2022.01.16 |
[typescript 기본] 타입가드 is와 타입단언 as (0) | 2022.01.16 |
[typescript 기본] 타입 단언 as (0) | 2022.01.16 |