TypeScript + Express + node.js 설정하기

y1andyu·2020년 7월 26일
5
post-thumbnail

패키지 설치


타입스크립트 환경을 설정하고 익스프레스 서버를 구동하기 위해 필요한 패키지들을 설치하자.

  • express
  • @types/express : express 라이브러리의 타입을 추가해준다.
  • @types/node : node.js 타입을 추가해준다.
  • nodemon : 실시간으로 수정사항을 반영해준다.
  • ts-node : 타입스크립트 파일을 실행해준다.
  • typescript
$ yarn add @types/express @types/node nodemon ts-node typescript --dev
$ yarn add express

tsconfig.json


{
  "compilerOptions": {
    "target": "ES5",
    "module": "CommonJS",
    "outDir": "./dist"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}

package.json


{
  "name": "ts-express",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "devDependencies": {
    "@types/express": "^4.17.7",
    "@types/node": "^14.0.26",
    "nodemon": "^2.0.4",
    "ts-node": "^8.10.2",
    "typescript": "^3.9.7"
  },
  "dependencies": {
    "esm": "^3.2.25",
    "express": "^4.17.1"
  },
  "scripts": {
    "prestart": "tsc", // 먼저 js로 컴파일한 뒤에
    "start": "nodemon --exec ts-node dist/www.js" // 컴파일된 파일을 실행한다.
  }
}

express


app.ts

import * as express from "express";

const app: express.Application = express();

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

export default app;

www.ts

import app from "./app";
import {createServer} from "http";

const port: number = Number(process.env.PORT) || 3000;

const server = createServer(app);

server.listen(port, () => {
  console.log(`${port}포트 서버 대기 중!`);
});

export default server;

이렇게 세팅하고 yarn start를 입력하면 3000포트에서 서버가 시작됩니다!

profile
세계 최고 수준을 향해 달려가는 개발자입니다.

0개의 댓글