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

dlsohee님의 프로필 이미지
dlsohee

작성한 질문수

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

chap3 ERR_UNKNOWN_FILE_EXTENSION

해결된 질문

작성

·

64

0

// tsconfig.json
{
    "compilerOptions": {
        "target": "ESNext",
        "module": "ESNext",
        "outDir": "dist",
        "strict": true,
        "moduleDetection": "force",
        "skipLibCheck": true,
    },
	"ts-node": {
		"esm": true
	},
    "include": ["src"]
}
// package.json
{
  "name": "ts_chap02",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "@types/node": "^22.5.2"
  },
  "devDependencies": {
    "ts-node": "^10.9.2",
    "typescript": "^5.5.4"
  }
}

skipLibCheck까지 추가하였는데도 ts-node src/index.ts를 실행하면 ERR_UNKNOWN_FILE_EXTENSION 이 발생합니다. 어떻게 해결해야 할까요?

답변 2

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

Node.js 버전업으로 인해 ts-node가 더이상 지원되지 않고 있습니다😢 따라서 이에 대응하는 tsx 사용법을 해당 강의와 뒷 강의에 추가해두었으니 참고하셔서 TSX로 진행하시면 될 것 같습니다

image.pngimage.png

 

0

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

dlsohee님, 제공해주신 설정 파일과 질문 내용에 따르면 ts-node를 사용하여 .ts 파일을 실행할 때 ERR_UNKNOWN_FILE_EXTENSION 오류가 발생하는 상황인 걸로 보입니다. 이러한 문제는 일반적으로 ES 모듈을 사용하는 TypeScript 프로젝트 설정에서 Node.js가 .ts 파일 확장자를 인식하지 못해 발생하는 경우가 많습니다.

이와 관련하여, 유사한 문제를 겪었던 다른 학습자의 질문과, 그에 대한 지식공유자의 답변 링크를 추천해 드리겠습니다:

  • ts-node ‘ERR_UNKNOWN_FILE_EXTENSION’ 에러 문제 해결을 위해 지식공유자가 제안한 답변에서는, ts-node 실행 시 발생한 유사한 에러에 대해 언급하고 있으며, 노드 LTS 버전 18 사용을 제안하고 있습니다. 이 경우, Node.js 버전이 문제의 원인일 수 있기 때문에, Node.js의 안정적인 LTS 버전으로 변경해 보는 것이 좋은 해결책이 될 수 있습니다.

제시된 답변에서는 ts-node 대신 다른 도구 사용을 권장하거나, 특정 버전의 Node.js를 사용할 것을 제안할 수 있는데, dlsohee님의 설정 파일에는 ts-node의 최신 버전을 사용하고 계시며, type: module을 정의하셔서 ES Modules를 사용하고 계십니다. 따라서, Node.js 버전을 확인하고 LTS 버전으로 변경하는 것 외에도, typescript 설정을 검토하고 tsconfig.json에서의 미세 조정을 고려해볼 수 있습니다. [ERR_UNKNOWN_FILE_EXTENSION] 에러는 Node.js에서 ES Module을 사용할 때 종종 발생하는 문제인데, 이는 Node.js가 기본적으로 CommonJS 모듈 포맷을 사용하기 때문입니다.

tsconfig.json에서 "type": "module" 설정은 프로젝트가 ES Modules을 사용함을 명시하는 것으로, 이 경우 ts-node와 연계하여 사용할 때 Node.js 설정에 주의를 기울여야 합니다. 문제 해결을 위해 Node.js 버전 업데이트, ts-node 대신 tsx 사용, 혹은 ts-node 실행 옵션과 설정을 검토하는 것을 권장드려요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dlsohee님의 프로필 이미지
dlsohee

작성한 질문수

질문하기