function greetJS(name) {
return "Hello, " + name.toUpperCase();
}
console.log(greetJS(42));
toUpperCase는 문자열로부터 호출할 수 있는 기능function greetTS(name: string) : string {
return "Hello, " + name.toUpperCase();
}
console.log(greetTS(42));
타입스크립트(TypeScript) 프로젝트를 초기 세팅하고 ts-node로 코드를 실행하려다 아래와 같은 에러를 마주함
터미널에서 npx ts-node src/index.ts를 실행했더니 아래와 같은 에러가 발생하며 프로그램이 종료됨
C:\...\node_modules\ts-node\dist\configuration.js:91
const { fileExists = ts.sys.fileExists, readFile = ts.sys.readFile, ... } = rawApiOptions;
^
TypeError: Cannot read properties of undefined (reading 'fileExists')
at readConfig (...)
at findAndReadConfig (...)
...
npm install typescript ts-node -D로 패키지를 재설치했음에도 동일한 에러가 발생tsx로 넘어가기npm install typescript 명령어를 통해 가장 최신 버전의 타입스크립트가 설치되었는데, ts-node가 아직 최신 타입스크립트의 내부 구조 변경(내부 객체인 ts.sys를 참조하는 방식 등)을 완벽하게 지원하지 못해 발생하는 이슈였음tsx 를 도입tsx는 최신 TypeScript를 완벽하게 지원하며 속도도 훨씬 빠르고 설정도 간편해서, 최근 실무나 새로운 프로젝트에서 ts-node의 훌륭한 대체재로 떠오르고 있다고 함tsx를 사용하면 nodemon 없이도 자체 watch 명령어로 개발 환경을 쉽게 구축할 수 있음 1. tsx 설치하기
기존 ts-node 대신 tsx를 개발 의존성(DevDependencies)으로 설치
npm install tsx -D
2. tsx로 코드 실행하기
기존에 사용하던 ts-node 명령어 대신 tsx를 사용하여 파일 실행
npx tsx src/index.ts