발생한 오류
각각의 다른 ts파일에서 똑같은 변수를 선언을 했는데 이러한 오류가 발생 하였다.
원인
- 자바스크립트의 경우에는 각각의 js파일이 하나의 모듈로 인식이 되어 서로 다른 js파일에 동일한 이름의 변수를 선언할 수 있다.
- 하지만 타입스크립트는 모든 ts 파일을 하나의 모듈, 즉 전역 모듈로 보기 때문에 이러한 오류가 발생 한 것
해결 방법
- 파일에 import, export와 같은 모듈 시스템과 관련된 코드를 입력을 해주면, 해당 파일은 전역 모듈이 아닌 독립된 하나의 모듈로 인식되어 오류가 더 이상 발생 하지 않는다.
const a:number = 1
export {}
- 타입스크립트 컴파일 옵션을 지정할 수 있는 tsconfig.json파일에 가서 "moduleDetection": "force" 를 넣어 주면 된다. 만약 tsconfig.json파일을 수정했는데 오류가 해결되지 않는다면 cmd + shift + p를 누른후 restart를 검색하여 TS서버를 다시 시작 해보면 해결이 될 것이다.