타입스크립트 모듈 불러오기

2022. 7. 8. 10:43카테고리 없음

src폴더에 index.ts 

// import {init, exit} from 'myPackage'; // 에러 해결을 위해 myPackage.d.ts를 만든다
import {init, exit} from './myPackage2'; // allowJS를 true해주면 에러가 사라짐

// js 패키지 파일을 ts에서도 사용하고 싶으면 종종 정의해줘야한데

localStorage.getItem("A"); // "lib": ["DOM"]이라서 가능
// ㄴ> localStorage를 따라가면 node module 어딘가에 있는 
// 모듈의 타입을 선언해주는 declaration file을 볼수있따.
// localStorage.

init({
    debug: true,
    url:"true",
})

exit(1);

const a = (b:number, c:boolean) => {

}

 

src폴더에 myPackage.d.ts << declaration 파일

// 모듈의 타입을 선언해주는 declaration file

interface Config {
    url: string
}

declare module "myPackage" {
    function init(config: Config): boolean;
    function exit(code: number): number;
}

 

또는 src 폴더에 myPackage2.js

// @ts-check
// ㄴ> js파일이지만 ts에게 체크를 하라는 뜻

/**
 * Initializes the project // 어떤 함수인지 설명
 * @param {object} config // 입력값의 이름은 config이고 타입은 객체
 * @param {boolean} config.debug // config.debug에는 불린값이 있다.
 * @param {string} config.url // config.url에는 string이 들어있음
 * @return boolean // boolean을 return함
 */

// ㄴ> 타입스크립트가 위의 코멘트를 읽고 타입을 체크해줄것.

export function init(config){
    return true;
}


/**
 * Exit the program
 * @param {number} code // 받는 입력값 이름은 code이고 타입은 number
 * @return {number}
 */

export function exit(code){
    return code + 1;
}