• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

tsc compile 관련 질문

24.03.06 17:54 작성 24.03.06 18:04 수정 조회수 75

1

1.

tsc로 compile하고 난 후 지정된 경로 저장을 하였을 때

기존 ts파일과 compile된 js파일문아니라 js.map 이라는 파일이 함께 생성됩니다.

 

js.map 이라는 파일은 어떤 파일인지 여쭤보고 싶습니다

 

  1. npm run start:dev 로 실행했을 경우

     

     

    import * as express from 'express';
    import { Cat, CatType } from './app.model';
    
    
    const app:express.Express = express();
    
    const data = [1,2,3,4,5,6,7,8,9,10];
    
    app.get('/',(req:express.Request,res:express.Response) => {
        // res.send({data});
        res.send({
            cats:Cat
        });
    });
    
    app.listen(8000, () => {
        console.log('Server is running on port 8000');
    })

    위처럼 실행한 후
    res.send({data}) 의 주석을 풀면 오류가 발생하고

중단 후 재실행하면 정상작동합니다.

tsc-watch --onSuccess \"node dist/app.js\"

위 script가 nodemon처럼 안정화가 되지 않아서 발생하는 오류인가요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.08

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

  1. [js.map](http://js.map) 파일은 소스 맵(source map) 파일로, 컴파일된 JavaScript 파일과 원본 TypeScript 파일 간의 연관 관계 정보를 포함하고 있습니다. 디버깅할 때 원본 TypeScript 파일로 매핑해주어 원본 코드의 위치를 찾을 수 있도록 도와주는 역할을 합니다. 이 파일은 브라우저 개발자 도구 등에서 원본 TypeScript 코드를 볼 수 있게 해주는 중요한 역할을 하죠.

  2. npm run start:dev로 실행했을 경우, 비동기적으로 파일 변경을 감지하고 컴파일이 완료될 때까지 기다렸다가 이전 버전의 코드가 실행되는 경우가 있을 수 있습니다. tsc-watch는 파일에 변경이 발생했을 때 TypeScript 컴파일을 자동으로 수행하고 성공 시 지정된 JavaScript 파일을 실행하는 스크립트입니다. nodemon과 비슷한 역할을 하지만, 경우에 따라 변경 사항을 모두 반영하기 전에 실행되어 오류가 발생할 수 있습니다. 이를 해결하기 위해 컴파일 완료 후 충분한 시간을 두고 실행을 시작하도록 스크립트를 조정하거나, 파일 변경 감지 및 컴파일 빌드 프로세스의 안정화를 위해 다른 설정이나 도구를 적용할 수도 있습니다.

추가적으로 필요한 정보가 있다면 언제든지 질문해주세요.