작성
·
159
·
수정됨
1
1.
tsc로 compile하고 난 후 지정된 경로 저장을 하였을 때
기존 ts파일과 compile된 js파일문아니라 js.map 이라는 파일이 함께 생성됩니다.
js.map 이라는 파일은 어떤 파일인지 여쭤보고 싶습니다
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 인턴입니다.
[js.map](http://js.map)
파일은 소스 맵(source map) 파일로, 컴파일된 JavaScript 파일과 원본 TypeScript 파일 간의 연관 관계 정보를 포함하고 있습니다. 디버깅할 때 원본 TypeScript 파일로 매핑해주어 원본 코드의 위치를 찾을 수 있도록 도와주는 역할을 합니다. 이 파일은 브라우저 개발자 도구 등에서 원본 TypeScript 코드를 볼 수 있게 해주는 중요한 역할을 하죠.
npm run start:dev
로 실행했을 경우, 비동기적으로 파일 변경을 감지하고 컴파일이 완료될 때까지 기다렸다가 이전 버전의 코드가 실행되는 경우가 있을 수 있습니다. tsc-watch
는 파일에 변경이 발생했을 때 TypeScript 컴파일을 자동으로 수행하고 성공 시 지정된 JavaScript 파일을 실행하는 스크립트입니다. nodemon
과 비슷한 역할을 하지만, 경우에 따라 변경 사항을 모두 반영하기 전에 실행되어 오류가 발생할 수 있습니다. 이를 해결하기 위해 컴파일 완료 후 충분한 시간을 두고 실행을 시작하도록 스크립트를 조정하거나, 파일 변경 감지 및 컴파일 빌드 프로세스의 안정화를 위해 다른 설정이나 도구를 적용할 수도 있습니다.
추가적으로 필요한 정보가 있다면 언제든지 질문해주세요.