타입스크립트 D-7: Node 서버 구축

nearworld·2022년 7월 21일
0

typescript

목록 보기
7/28

본 게시글은 정확한 정보를 담고있지 않을 수 있으므로 다른 자료도 참고하시길 바랍니다.
만약, 본 게시글이 잘못된 정보를 가지고 있다면 피드백 부탁드립니다. 감사합니다.

Node.js 서버를 위한 TYPESCRIPT 세팅

시스템 환경

운영체제: Windows 10
CLI: Git bash

글로벌 라이브러리

moduleversion
nodemon2.0.15
npm i -g nodemon

nodemon은 글로벌 모듈이 아니어도 상관없다. 글로벌 설치된 nodemon을 지우고 npm i nodemon으로 로컬 설치해도 본 글의 가이드를 따라가는데 지장이 없다.
다만, nodemon을 글로벌 설치했다하더라도 바로

$ nodemon

명령어로 서버를 실행하려고 하면
Error: Cannot find module 'C:\Users\1\Desktop\portfolios\gallery\proxy\index.js'
에러가 뜬다. index.js를 찾지 못해서다. 그러므로 글로벌 설치했다면 $ nodemon 명령어로는 ts로 작성된 node 서버를 실행할 수 없다.
가능한 서버 실행 커맨드는 본 글의 package.json 파트에 설명되어 있다.

필요 라이브러리

moduleversion
express^4.18.1
ts-node^10.9.1
@types/express^4.17.13
@types/node^18.0.6
npm i express ts-node @types/express @types/node

ts-node 설명

Typescript를 컴파일없이 바로 Node.js 환경에서 실행할 수 있도록 해주는 엔진.
Typescript -> Javascript 트랜스파일 과정없이 바로 Typescript로 실행

package.json 설정

"scripts": {
 	"dev": "nodemon --watch src/**/*ts --exec npx ts-node src/app.ts" 
}

package.json 설정은 nodemon이 글로벌일때와 로컬 모듈일때 모두 테스트해보니 nodemon이 글로벌이든 로컬 모듈이든 상관없이 정상 작동하므로 걱정없이 복붙해 사용하자.

"dev": 명령어를 실행하려면 아래의 커맨드를 터미널에 입력하자.
아직, 서버 파일을 생성하지 않았으므로 서버 파일 후에 커맨드를 실행해야 서버가 실행될것이다.
그러니 서버 파일을 만들도록 하자.

src/app.ts

import express, { Request, Response, NextFunction } from "express";

const app = express();

app.get("/", (req: Request, res: Response, next: NextFunction) => {
  res.send("welcome!");
});

app.listen(8080, () => {
  console.log("Server listening on port: 8080");
});
$ npm run dev

실행 결과

profile
깃허브: https://github.com/nearworld

0개의 댓글