[Typescript] TS1208 Error, isolatedModules
Typescript에서 TS1208 오류, isolatedMoudules 옵션 오류는 파일에서 모듈 간의 의존성 문제 때문에 발생되는 문제입니다.
이 문제는 Compile하는 과정에서 생기는 문제이고, 단순히 아래 코드 같이해도 오류는 해결하고 넘어 갈 수 있습니다.
tsconfig.json 파일의 옵션을 바꾸거나
...
"isolatedModules": true,
...
빈 파일일 경우나 문제가 되는 파일에 export/import 문을 사용하거나
// 아무 내용이 없는 빈 파일에서 나는 에러인 경우에
export {}
// 설치되어있는 패키지를 import 하는 문구를 쓰는것으로 해결할 수 있다.
import dayjs from 'dayjs';
이렇게 간단히 넘어갈 수도 있는 문제일 수도 있지만 더 복잡한 경우 있습니다.
이 오류는 tsconfig.json 에서 isolatedModules: true
로 설정되어 있기 때문에 발생하는 문제인데요.
pm2를 .cjs 파일로 설정된 것을 사용하려고 했을 때도 나타날 수 있는데 아래의 옵션을 쓴다면 해결될 수도 있다.
...
"esModuleInterop": true,
...
단순히 에러를 잡겠다고 isolatedModules
옵션을 false
로 하는 것으로 넘어 갈 수 있지만 오히려 문제가 더 많이 발생할 수 있습니다.
만약 모듈 간의 의존성이 필요 없는 경우에는 isolatedModules 옵션을 사용하지 않도록 설정하면 됩니다. 이렇게 하면 모듈 간의 의존성 검사를 수행하지 않아도 됩니다.
하지만 그저 isolatedModules: false
로 설정하는 것으로 넘어가는 좋은 해결 방법이 아닙니다.
2023.07.20 - [dev.lang/Typescript] - [Typescript] 모듈 (Module)
[Typescript] 모듈 (Module)
모듈(Module)은 TypeScript에서 코드를 구성하는 논리적인 단위입니다. 모듈은 특정 기능을 담당하며, 다른 모듈과는 독립적으로 동작할 수 있습니다. 간단히 말하면, 모듈은 코드의 일부분을 캡슐화
seuhyang.tistory.com