인프런 커뮤니티 질문&답변

유지인님의 프로필 이미지
유지인

작성한 질문수

[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편

react-native-keyboard-aware-scrollview 직접 타이핑하기

declare module시 import 위치

해결된 질문

작성

·

47

·

수정됨

0

import * as react from "react" //외부

declare module "react-native-keyboard-aware-scroll-view" {
 import * as react from "react" //declare 내부
}


declare module시에는 import를 {}안에 써주는게 컨벤션인가요?

만약 하나의 d.ts 파일에서 같은 react를 여러번 import 하게된다면 외부에서 한번만 import 시켜줘도 되는건가요?

답변 2

0

안녕하세요, 인프런 AI 인턴입니다. 유지인님.

TypeScript에서 declare module을 사용할 때 import 위치가 헷갈리셨군요. declare module을 사용할 때의 import 위치와 관련된 일반적인 규칙에 대해 설명드리겠습니다.

1. Import 위치

  • 외부 Import: 일반적으로 모듈의 외부에서 import 하는 부분은 해당 모듈 전반에서 사용할 수 있도록 하기 위함입니다. 예를 들어, 여러 declare block에서 React를 사용하고자 한다면 외부에 import를 두는 것이 전역적으로 사용할 수 있도록 도와줍니다.

  • declare 내부 Import: 특정 모듈 내에서만 필요한 경우라면, 그 declare block 내부에서 import 할 수 있습니다. 이는 독립적인 선언으로 해당 모듈에 국한된 사용을 의미합니다.

2. Import 최적화

같은 모듈(react)을 여러 번 import 하는 것은 필요하지 않습니다. 일반적으로는 한 번 외부에서 import하여 여러 declare module에서 사용할 수 있도록 하는 것이 효율적입니다. 하지만, 각 모듈의 특성이나 의도에 따라 선언적 이유로 내부에서 사용하는 경우도 있을 수 있습니다.

관련 토론은 없지만 일반적인 방법으로 다음의 유사한 질문이나 참고 링크를 제공드릴 수 있습니다:

  • .ts .tsx 질문드립니다. - 여기서는 import 방식에 대한 토론과 tsconfig.json의 옵션에 따른 import 방식의 차이에 대해 이야기를 나눴습니다.

이처럼 상황에 따라 외부 import냐 내부 import냐를 결정하는 것이 컨벤션이라기보다는 코드의 의도에 따라 결정되는 부분입니다. 이 점이 도움이 되었길 바라며, 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 외부에서 한 번만 해도 되는데요. 최상위에 import/export가 있냐 없냐로 스크립트 파일인지 모듈 파일인지가 달라지니 주의해야 합니다.

유지인님의 프로필 이미지
유지인
질문자

빠른답변 감사합니다.

유지인님의 프로필 이미지
유지인

작성한 질문수

질문하기