개발자취

TIL | Express.js Framework / 미들웨어 본문

개발/Dev | 웹개발

TIL | Express.js Framework / 미들웨어

hnhnhun 2022. 7. 23. 01:34

Express

  • Node.js를 위한 web framework의 일종, Express
  • 미들웨어를 기반으로 한 웹 애플리케이션 구축, 에러 핸들링, static file serving 등을 처리함.
  • 웹 애플리케이션을 유연하게 만들 수 있다.
 

Express - Node.js 웹 애플리케이션 프레임워크

Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save

expressjs.com

 

미들웨어

 

Express 미들웨어 사용

미들웨어 사용 Express는 자체적인 최소한의 기능을 갖춘 라우팅 및 미들웨어 웹 프레임워크이며, Express 애플리케이션은 기본적으로 일련의 미들웨어 함수 호출입니다. 미들웨어 함수는 요청 오

expressjs.com

 

예시 코드

// @ts-check

const express = require('express')
const fs = require('fs')

const app = express()

const PORT = 5000

app.use(
    '/', 
    async (req, res, next) => { //미들웨어 1-1
        const requestedAt = new Date()
        console.log('Middleware 1-1')
        const fileContent = await fs.promises.readFile('test.txt')
        // @ts-ignore
        req.requestedAt = requestedAt // 요청하는 변수에 할당하면 다음 미들웨어로 전송이 가능하다.
        // @ts-ignore
        req.fileContent = fileContent
        setTimeout(() => {
            next()
        }, 1000)
    },
    async (req, res, next) => { // 미들웨어 1-2
        console.log('Middleware 1-2')

        setTimeout(() => {
            next()
        }, 1000)
    }
)

app.use((req, res) => {
    console.log('Middleware 2') // 미들웨어 2
    // @ts-ignore
    res.send(`Hello Express!: Requested at ${req.requestedAt}, ${req.fileContent}`)
})

app.listen(PORT, () => {
    console.log(`The Express server is listening at port: ${PORT}`)
})

 

Comments