TS 실행 스크립트

juhojung·2022년 2월 8일
0

nodejs

목록 보기
1/6
post-thumbnail

실행 스크립트를 js 로 사용하는 방법을 간단하게 적어보자.

앞으로 이슈 계획
1. 문제 해결의 히스토리를 작성.
3. 간단하더라도 꼭 필요한 내용이면 작성.

본론

const exec = require("child_process").exec;
const path = require("path");
const client = exec(
    "nodemon --watch 'src/**' --ext 'ts,json' --exec \"node --max_old_space_size=4096 ./node_modules/.bin/ts-node -r tsconfig-paths/register ./src/server.ts\"",
    { windowsHide: true, cwd: path.join(__dirname, "./"), maxBuffer: 10 * 1024 * 1024 * 1024 }
);
client.stdout.pipe(process.stdout);
client.stderr.pipe(process.stderr);

위 코드는 ts(typescript) 사용시 nodemon 과 함께 사용하려 할때 이를 실행파일로 만들어서 손쉽게 parameter 를 넘기기 위해 작성했다.

nodemon 에 전달하는 파라미터는 별거없고 핵심은
node 와 child_process 에 던지는 파라미터들이다.

  • max_old_space_size : 최대 메모리 사이즈
  • cwd : 해당 프로스세의 실행 위치를 지정 ( __dir_name 사용시 적용된다. )
  • maxBuffer : 이게 진짜 골때리는데, 이걸 지정안하고 돌리면, node v16.x 기준에서 변수나 log 를 좀만 많이 작성해도 갑자기 꺼진다. 버퍼사이즈를 지정해주는 변수이다.

코드로 파일을 test.js 라고 만든다면,

pm2 start test.js --name test 

이런식으로 실행 하면된다.

profile
"어찌 할 수 없는 일에 대해 고민하는 시간은 낭비일 뿐이다."

0개의 댓글