Untitled

말 그대로 웹 서비스를 하기위한 웹 프레임워크이다.

Get, Post 등 HTTP 통신 요청에 대한 핸들러를 제공하고 라우팅, 뷰 렌더링 같은 기본적인 웹 서비스 기능들을 간결한 코드로 구현할 수 있도록 해주는 프레임워크이다.

앵간한 node.js 웹 서비스 들은 express 를 기반으로 두고 있기 때문에 가장 중요한 모듈이라고 할 수 있다.

Express 설치

npm install express

기본 틀

app.js

const port = 3000

const express = require('express')
const app = express()
const path = require('path');
const logger = require('morgan');
const createError = require('http-errors');

// 뷰 엔진 설정
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

// logger 설정
app.use(logger('dev'));

// 정적 위치 지정
app.use(express.static(path.join(__dirname, 'public')));

// 라우팅 지정
const indexRouter = require('./routes/index');
app.use('/', indexRouter);
app.use(function(req, res, next) {
  next(createError(404)); // 404
});

const server = app.listen(port, () => {
  console.log(`Express Server Listening at ${port}`)
})

프로젝트 구조

프로젝트 구조

해석

const express = require('express')
const app = express()

express 모듈 삽입

// 뷰 엔진 설정
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

뷰 엔진을 세팅해준다. 현재는 EJS로 설정해놓은 상태.

가장 유명한 것은 EJS와 PUG(구 Jade)가 있다.

const logger = require('morgan');

// logger 설정
app.use(logger('dev'));

서버의 로그를 이쁘게 출력해주는 '로거' 를 설정해준다.

로거 모듈로는 대표적으로 morgan을 사용한다.