Poylib
기록형 프론트엔드
Poylib
전체 방문자
오늘
어제
  • 분류 전체보기 (91)
    • Programing (38)
      • Javascript (17)
      • Typescript (1)
      • React (9)
      • React-Native (6)
      • Git (4)
      • Next (1)
    • Study (36)
      • Algorithm (35)
      • Etc. (1)
    • Record (17)
      • Memoirs (12)
      • Group (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 리액트
  • react
  • 백준
  • 알고리즘
  • Error
  • ReactNative
  • vite
  • Git
  • react-native
  • 기초
  • Object
  • javascript
  • 자바스크립트
  • typescript
  • 코칭스터디
  • 코딩테스트
  • 프로그래머스
  • 회고

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Poylib

기록형 프론트엔드

[TS] 타입스크립트 png파일 import Cannot find module
Programing/Typescript

[TS] 타입스크립트 png파일 import Cannot find module

2022. 12. 4. 23:48

타입스크립트에서 png 같은 로컬 파일 받아올 때 모듈을 찾을 수 없다며 아래와 같은 에러가 뜰경우 

Cannot find module '' or its corresponding type declarations.

왜 발생하는가?

타입스크립트에서 기본적으로 import 해올 수 있는 파일은 확장자가 .ts .tsx .d.ts 인 경우이다.( 정적인 에셋 가져오기를 유효한 모듈로 인식하지 않음 )

따라서 확장자가 .png 혹은 .jpg 같은 파일을 import해오면 찾을 수 없다는 에러가 발생한다. 자세한 내용은 module resolution

 

해결 방법

1. 

프로젝트 폴더 ( ex. src ) 에 types 폴더를 생성해 주고, index.d.ts 파일을 만든다.

생성한 파일에 

declare module '*.png' {
  const path: string;
  export default path;
}

jpg 같은 기타 확장자도 png 대신 '*.jpg' 로 declare module을 추가해 주면 된다.

 

2.

Vite를 사용한다면, 마찬가지 프로젝트 폴더에 vite-envd.ts 파일을 생성해주고

/// <reference types="vite/client" />

슬러쉬 세 개를 포함해 위 코드를 써주면 된다. 자세한 내용은 vite 공식문서의 에셋 가져오기 에서 확인할 수 있다.

저작자표시 비영리 변경금지 (새창열림)
    Poylib
    Poylib
    모시깽 기록

    티스토리툴바