inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전 프로젝트로 배우는 타입스크립트

d.ts 컴파일 시 에러 질문 드립니다.

621

kim1124

작성한 질문수 1

1

안녕하세요. d.ts 관련하여 타입 추론은 되는데 컴파일 시 Can not find name '타입명' 에러가 계속 발생하여 문의글을 올립니다.

 

프로젝트 구조는 아래와 같이 되어 있습니다.

index.d.ts

node_modules/

index.ts

tsconfig.js

 

각 파일의 내용은 아래와 같습니다.

 

  1. index.d.ts

    interface Person {
      name: string;
      age: number;
    }
    
    interface Developer extends Person {
      skill: string;
    }
  2. index.ts

    const dev : Developer = { age: 33, name: 'Developer', skill: 'TS' }
    console.log('Dev > ', dev.

 

  1. tsconfig.json

    {
      "compilerOptions: {
        ...
        "lib": ["DOM", "ESNext"],
        "module": "commonjs",
        ...

     

이 상황에서 tsc index.ts로 컴파일을 실행하면 Developer 부분에 Cannot find name 'Developer' 에러가 발생하고 컴파일이 실패했다는 메세지가 터미널에 출력됩니다. 이해가 안되는 부분은 VS Code 상으로는 인터페이스임을 제대로 추론하고 에러 표시 또한 나오지 않는다는 것입니다.

 

d.ts가 외부 모듈의 타입을 tsc가 파악할 수 없을때, 타입 추론을 할 수 있도록 도와주는 용도로 사용한다고 알고 있고, 일반적으로 프로젝트 루트 경로에 d.ts를 선언하면 전역으로 타입이 적용되는 것으로 알고 있는데, 왜 추론만 되고 실제 컴파일을 실행할 때는 에러가 발생하는지 궁금합니다.

 

감사합니다.

typescript es6

답변 2

0

캡틴판교

안녕하세요, 답변이 늦어서 죄송합니다. d.ts 파일이 타입스크립트 컴파일 범위 안에 포함되는지 확인해 보시겠어요? tsconfig.json 파일의 include 옵션 확인해 보세요 :)

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

index.ts 파일의 코드에서 Developer라는 타입을 사용하고 있지만, index.d.ts 파일에 Developer 타입이 정의되어 있지 않기 때문에 컴파일 시에 에러가 발생하는 것 같습니다. index.d.ts 파일에 Developer 타입을 정의해주시면 될 것 같아요.

index.d.ts 파일을 아래와 같이 수정해보세요.

interface Person {
  name: string;
  age: number;
}

interface Developer extends Person {
  skill: string;
}

declare const Developer: Developer;

이렇게 수정하면 index.ts 파일에서 Developer 타입을 사용해도 컴파일 시에 에러가 발생하지 않을 것입니다. 이해가 되었는지요? 추가로 궁금한 점이 있으시면 또 문의해주세요.

-

0

139

1

[오류문의] import 에러

0

273

1

api가 중단된 건에 대하여..

1

381

2

프로젝트 완성본 github에 어디있나요?

1

350

2

https://api.covid19api.com/summary에 있는 원격 리소스를 차단

3

787

2

chartjs 타입시.. 직접 declare module chart.js로 하게 되면 내부의 구조를 모를 것 같은데요

1

598

2

COVID19 API 미작동(404) 질문

1

828

2

innerText부분 오류 문의.

1

683

2

Total Recovered가 화면에 0으로 나옵니다.

1

405

1

강의 내용 질문입니다.

2

445

1

요즘 바벨 사용 여부가 궁금합니다.

1

501

1

프로젝트 내 특정 파일만 Typing

1

573

1

소스질문

1

605

1

추후 강의에 관한 질문

2

404

1

rootdir, include 차이가 궁금합니다

1

678

1

Uncaught ReferenceError: exports is not defined 에러 해결

1

1834

1

function $(selector) 관련 질문 드립니다.

1

313

1

Uncaught ReferenceError: exports is not defined

1

471

1

웹팩 에러 문의

1

852

2

innerHTML optional 체이닝

2

1924

1

화살표 함수 문법 소개 글 링크가 잘못되어 있습니다.

1

237

1

실전 적용 관련 질문 입니다.

1

305

1

모듈 알리아스(as) 질문 드립니다.

1

382

1

프리티어 안되시는 분들

1

392

1