<aside>
💡 타입스크립트는 모든 ts파일을 전역 모듈로 보기 때문에 서로 다른 파일에서
const a = 1; 똑같이 쓰면 같은 공간에 있다고 간주해서 에러
해결방법은
파일 내에 export {}; 를 한 번 이상 작성 하면 해당 파일은 독립된, 격리된 모듈로 인식
tsconfig.json에 옵션추가하기
"moduleDetection": "force”
export {} 키워드나 import 키워를 자동으로 넣어주는거
</aside>
해당 명령어 입력하면 타입스크립트 컴파일러 생성 파일이 생김
tsc --init

tsconfig.json
{
"compilerOptions": {
// 컴파일 과정에서 해딩 타겟에 버전에 맞게 컴파일해줌
// ex) ES5는 화살표함수 없어서 화살표함수가 함수 표현식으로 변해서 컴파일 됨
"target": "ESNext",
// 모듈 시스템을 지정해줌 (ex, export와 import 기능)
"module": "ESNext",
// 컴파일 결과 생성될 javascript파일들이 어디에 위치했으면 좋겠는지 정함
"outDir": "dist",
// typescript 컴파일러가 타입 검사할 때 얼마나 엄격하게 검사할지 결정하는 옵션
"strict": true,
// null 타입이 아니여도 null을 넣을 수 있게 해주는 옵션
"strictNullChecks": false,
// 각 ts파일들을 독립적인 모듈로 보게 하냐 안하냐를 정하는 옵션
"moduleDetection": "force",
},
// ts-node의 모듈이 CommonJS로 되있기에 esm으로 바꾸면 ts-node 사용가능
"ts-node":{
"esm" : true
},
// tsc만 입력해도 특정 폴더안에 모든파일을 컴파일 하도록 도와줌
"include" : ["src"]
}
// ts-node의 모듈이 CommonJS로 되있기에 esm으로 바꾸면 ts-node 사용가능
"ts-node":{
"esm" : true
},
