Typescript + Express + Sequelize 기본 설정

도원·2022년 1월 15일
0

노드 서버로 작업을 해야할 일이 있어서 서버를 구성하는 방법을 남겨 놓음.

app.ts

import * as dotenv from "dotenv";
import path from "path";
import express from "express";

// env 파일 불러오기
let profile = process.env.NODE_ENV || "local-dev";
dotenv.config({
  path: path.join(__dirname, "../", profile + ".env"),
});

import "./config/db_config";
import v1 from "./routes/v1.route";

class App {
  public app = express();

  constructor() {
    this.app
      .listen(process.env.PORT, this.onListening)
      .on("error", this.onError);
  }

  onListening() {
    logger.info(`Server open. PORT : ${process.env.PORT}`);
  }

  onError() {
    logger.error(`Server open ERROR`);
  }
}

new App();

db_config.ts

import { Sequelize } from "sequelize";

let dbConfig: any = {
  dialect: "postgres",
  define: {
    charset: "utf8mb4",
    collate: "utf8mb4_unicode_ci",
    timestamps: true,
  },
  timezone: "+09:00",
  pool: {
    max: 2,
    min: 0,
    idle: 10000,
  },
  logging: false,
};

const sequelize = new Sequelize(process.env.DB_URL!, dbConfig);

export { sequelize };
profile
developer

0개의 댓글