const express = require("express");
const path = require("path");
const app = express();
app.set("port", process.env.PORT || 3000);
app.get("/", (req, res) => {
// res.send('Hello, Express');
res.sendFile(path.join(__dirname, "/index.html"));
});
app.listen(app.get("port"), () => {
console.log(app.get("port"), "번 포트에서 대기 중");
});
Node.js Express의 미들웨어는 웹 애플리케이션의 요청과 응답을 처리하는 중간 단계의 함수이다.
미들웨어는 Express 애플리케이션의 요청 처리 프로세스에서 요청과 응답 객체에 대한 조작 및 처리를 수행하는 역할을 한다.
미들웨어를 사용하여 요청 처리를 여러 단계로 나누고, 각 단계에서 필요한 작업을 수행할 수 있다.
app.use((req, res, next) => {
console.log('모든 요청에 실행하고 싶어요');
next();
})
app.get('*', (req, res) => {
res.send('hello everybody');
});
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'index.html'));
});
app.post('/', (req, res) => {
res.send('hello express!');
});
// app.js
const express = require('express');
const app = express();
app.get('/category/javascript', (req, res) => {
res.send('hello javascript');
});
app.get('/category/:name', (req, res) => {
res.send('hello wildcard');
});
app.get('/about', (req, res) => {
res.send('hello express');
});
app.get('*', (req, res) => {
res.send('hello everybody');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
const express = require('express');
const path = require('path');
const app = express();
app.set('port', process.env.PORT || 3000);
app.use((req, res, next) => {
console.log('1 요청에 실행하고싶어요');
next();
});
app.get('/', (req, res) => {
// res.sendFile(path.join(__dirname, 'index.html'));
res.setHeader('Content-Type', 'text/html');
res.status(200).send('.');
});
app.post('/', (req, res) => {
res.send('hello express!');
});
next는 Express 미들웨어 함수에서 다음 미들웨어 함수를 호출하기 위한 콜백 함수이다.
Express 미들웨어는 요청과 응답 객체를 조작하고 다음 미들웨어 함수로 제어를 전달할 수 있다. 이때 next 함수를 사용하여 다음 미들웨어 함수를 호출한다.
morgan은 Express 애플리케이션의 HTTP 요청 로깅을 도와주는 미들웨어이다. 이를 사용하면 서버에 들어오는 요청에 대한 정보(메서드, URL, 상태 코드, 응답 시간 등)를 쉽게 로깅할 수 있다.
개발 및 디버깅 시에 유용하며, 클라이언트의 요청과 서버의 응답을 추적하는 데 도움이 된다.
body-parser는 클라이언트에서 전송된 HTTP 요청의 본문(body)을 파싱하는 역할을 한다.
HTTP POST 요청이나 PUT 요청과 같이 요청 본문에 데이터를 담아 보낼 때, 이 데이터를 파싱하여 JavaScript 객체로 변환해준다. 이렇게 파싱된 데이터를 Express 애플리케이션에서 사용할 수 있다.
cookie-parser는 클라이언트에서 전송된 쿠키를 파싱하는 역할을 한다.
쿠키는 클라이언트와 서버 간의 상태를 유지할 때 사용되며, 이를 파싱하여 JavaScript 객체로 변환해준다. 이후 Express 애플리케이션에서 파싱된 쿠키 데이터를 사용할 수 있다.