오류

ts project에 .js 형식 파일이 있을 경우 > Cannot write file {경로} because it would overwrite input file.

vamosdev12 2025. 5. 27. 18:16

ts project에 .js 형식 파일이 있을 경우

tsconfig.json의 첫번째 꺽쇠에서 아래와 같은 오류가 .js 파일 개수만큼 발생.

dev 모드 실행은 정상적으로 되나 build는 안되는 상황.

(VS Code에서 확인함)

 

 

오류 메시지>

Cannot write file {경로} because it would overwrite input file.

 

 

오류 해석 >

"내가 변환한 결과물을 src/index.js에 덮어쓰려 했는데, 이건 입력 파일이라 위험해서 안 돼"

 

 

🔍 언제 발생하나요?

이 오류는 보통 아래 경우에서 발생합니다:

  • Babel, TypeScript, Webpack, tsc 등 빌드 도구가 src 폴더를 직접 덮어쓰려 할 때
  • 예를 들어 tsc 명령어로 TypeScript를 컴파일할 때 outDir을 안 정했거나, rootDir과 outDir이 같을 때

 

✅ 해결 방법

{
  "compilerOptions": {
    "outDir": "dist",  // <- build 결과물을 src 외 다른 폴더로 지정
    "rootDir": "src"
  }
}

이렇게 하면 src/index.js를 덮어쓰는 일이 없어져요.

 

 

아마 ts가 빌드되면 결국 js가 되기 때문에 빌드 결과물을 분리하여 저장하면 문제가 사라지는 듯함.

이렇게 설정하면 정상적으로 build가 가능해짐.