7.6.1 MySQL 연결하기

    이제 시퀄라이즈를 통해 익스프레스 앱과 MySQL을 연결해야 합니다. app.js를 생성하고 익스프레스와 시퀄라이즈 연결 코드를 작성해봅시다.

    app.js

    const express = require('express');
    const path = require('path');
    const morgan = require('morgan');
    const nunjucks = require('nunjucks');
    
    const { sequelize } = require('./models');
    
    const app = express();
    app.set('port', process.env.PORT || 3001);
    app.set('view engine', 'html');
    nunjucks.configure('views', {
      express: app,
      watch: true,
    });
    sequelize.sync({ force: false })
      .then(() => {
        console.log('데이터베이스 연결 성공');
      })
      .catch((err) => {
        console.error(err);
      });
    
    app.use(morgan('dev'));
    app.use(express.static(path.join(__dirname, 'public')));
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    
    app.use((req, res, next) => {
      const error =  new Error(`${req.method} ${req.url} 라우터가 없습니다.`);
      error.status = 404;
      next(error);
    });
    
    app.use((err, req, res, next) => {
      res.locals.message = err.message;
      res.locals.error = process.env.NODE_ENV !== 'production' ? err : {};
      res.status(err.status || 500);
      res.render('error');
    });
    
    app.listen(app.get('port'), () => {
      console.log(app.get('port'), '번 포트에서 대기 중');
    });
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.