-
nodejs + typescript 버전 heroku로 푸쉬하기개발/nodejs 2021. 10. 27. 21:46
nodejs를 typescript로 짜고 로컬에서 테스트 할 때는 아래 처럼 nodemon 명령어를 사용하면 된다. 그런데 heroku 서버 상에서는 이 명령어를 사용할 수 없다.
nodemon --exec ts-node src/index.ts
heroku 서버상에서도 typescript를 사용하기 위해선 typescript를 javascript로 변환하는 과정이 필요하다. package.json을 수정하면 heroku에 push 하는 과정에서 typescript를 javascript로 빌드하는 과정을 추가할 수 있다. 아래 코드에서 postinstall 속성이 npm run build로 되어 있는데 이 과정에서 heroku에 설치하면서 최종 명령어로 불리게 된다. build 속성을 tsc로 두면 타입 스크립트의 컴파일이 가능하다. 참고로 tsc로 빌드하기 위해선 tsconfig.json 파일이 필요하다.
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node dist/index.js", "start-local": "nodemon --exec ts-node src/index.ts", "build": "tsc", "postinstall": "npm run build" },
테스트로 로컬에서 postinstall 에 있는 명령어, npm run build 를 실행해보자. typescript를 javascript로 변환하는 작업이 실행될 것이다. 성공적으로 빌드 됐다면 프로젝트 루트에 dist 폴더가 생기고 내부에 javascript로 빌드된 파일이 생성된다. 로컬에서 node dist/index.js를 실행하면 typescript를 실행할 때와 동일하게 애플리케이션이 실행하게 된다.
user@kwony base % ls dist application.js clients const environment.js.map index.js.map models repository service utils application.js.map configs environment.js index.js middleware push routers socket
'개발 > nodejs' 카테고리의 다른 글
멀티 서버 환경에서 Socket.io 사용하기 (0) 2021.11.29 nodejs + android Socket.IO 를 이용해 소켓 통신 만들기 (0) 2021.10.28 우분투에 최신 nodejs 설치하기 (0) 2021.03.28 nodejs + postgresql (0) 2021.01.10 nodejs + multer 파일 업로드 (0) 2021.01.07