Node Express + Typescript 프로젝트 생성

shelly·2021년 5월 13일
0

Typescript+express

목록 보기
2/3

Typescript 설치

$ yarn global add typescript

Project 생성

$ mkdir node-typescript
$ cd node-typescript
$ yarn init
$ tsc --init
  • yarn init
    package.json 파일이 생성되어 설정 및 외부패키지 등 프로젝트를 관리할 수 있게된다.

  • tsc --init
    tsconfig.json 파일이 생성되어 프로젝트에서 typescript 를 사용할 수 있도록 initialize 한다.

Express 설치

$ yarn add express
$ yarn add -D typescript ts-node @types/node @types/express nodemon
  • yarn add -D
    typescript는 개발할 때 사용되지만, 결국 배포는 js 형태로 컴파일되어 사용된다. 때문에 typescript와 관련된 패키지는 배포 시에 필요하지 않기 때문에 -D 옵션을 사용하여 설치한다.

서버실행

  1. app.ts 생성
import express from "express";

const app: express.Application = express();
export default app;
  1. server.ts 생성
import http from "http";
import app from "./app";

class Server {
  public server: http.Server;
  public port: number;

  constructor() {
    this.server = http.createServer(app);
    this.port = 3000;
    this.listen();
  }

  public listen() {
    this.server.listen(this.port, () => {
      console.log(`Server running at port ${this.port}`);
    });
  }

  public close() {
    this.server.close();
  }
}

export default new Server();
  • app.ts 에서 생성한 express를 server.ts 에서 호출한다.
  • server.ts가 실행되면 http.createServer 메서드를 사용하여 express 서버를 실행하고, port는 임의로 3000으로 설정한다.
  • 설정한 3000포트로 오는 request를 listen 한다.
  1. 실행 script 추가

package.json

{
  "name": "node-typescript-mongoose-test",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "express": "^4.17.1"
  },
  "devDependencies": {
    "@types/express": "^4.17.11",
    "@types/node": "^15.0.3",
    "nodemon": "^2.0.7",
    "ts-node": "^9.1.1",
    "typescript": "^4.2.4"
  },
  "scripts": {
    "dev": "nodemon src/server.ts"
  }
}
  • package.json 은 프로젝트의 환경설정을 관리하는 json 파일이다.
  • scripts를 위와 같이 추가하면, 앞으로 yarn dev 커맨드를 입력하는 것은 nodemon src/server.ts 커맨드를 입력하는 것과 동일한 것이다.
  1. yarn dev
$ yarn dev
yarn run v1.22.10
$ nodemon src/server.ts
[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: ts,json
[nodemon] starting `ts-node src/server.ts`
Server running at port 3000
  • cmd 혹은 terminal에서 yarn dev 커맨드를 임력하면 위와 같은 출력값을 확인할 수 있다.
  • server.ts가 실행되어 3000포트를 listen 하고 있는 서버가 켜진 것이며, console.log를 찍었던 Server running at port 3000 이라는 문구를 확인할 수 있다.

0개의 댓글