const express = require('express');
const app = express();
app.listen(1234);
let db = new Map();
db.set(1, "NoteBook"); // 상품 정보를 저장하는 Map
db.set(2, "Cup");
db.set(3, "Chair");
app.get('/:id', function(req, res){
let { id } = req.params;
id = parseInt(id); // URL에서 받은 id를 숫자로 변환
if(db.get(id) === undefined) {
res.json({ message: "상품을 찾을 수 없습니다." });
} else {
let product = { productName: db.get(id), id: id };
res.json(product);
}
});
Express - Node.js 웹 애플리케이션 프레임워크
Express는 Node.js 기반의 웹 프레임워크로, 웹 애플리케이션과 API를 빠르게 구축할 수 있게 도와준다. 미들웨어 아키텍처를 사용하여 요청과 응답 사이에 다양한 기능을 쉽게 추가할 수 있다. (미들웨어는 다음 시간에 배울 것!)
app.js 파일은 Express 애플리케이션의 중심 파일로, 애플리케이션의 주요 설정을 포함한다. 예를 들어, 미들웨어 설정, 라우팅 규칙, 서비스 로직 등을 이 파일에 정의할 수 있다.
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
app.use(logger('dev')); // 개발 중 로그를 출력하는 미들웨어
app.use(express.json()); // JSON 요청을 파싱하는 미들웨어
app.use(express.urlencoded({ extended: false })); // URL 인코딩된 데이터를 파싱하는 미들웨어
app.use(cookieParser()); // 쿠키를 파싱하는 미들웨어
app.use(express.static(path.join(__dirname, 'public'))); // 정적 파일을 제공하는 미들웨어
module.exports = app;
이 파일에서는 필요한 모듈들을 가져오고, 미들웨어를 설정한 후, 라우트를 설정한다. 모든 설정은 app 객체에 연결되어 있다.
www 파일은 서버를 구동하는 스크립트 파일로, 실제 서버의 시작점 역할을 한다. 이 파일에서는 HTTP 서버를 생성하고, 포트를 설정하며, 서버를 시작한다.
var app = require('../app');
var debug = require('debug')('express-base:server');
var http = require('http');
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
var server = http.createServer(app);
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
이 파일에서는 app.js에서 설정된 Express 애플리케이션을 가져와 HTTP 서버 객체를 생성한다. 그리고 포트를 설정하고, 서버를 시작하여 외부의 요청을 받을 수 있도록 한다. 또한, 서버의 에러 핸들링과 리스닝 이벤트를 처리하는 부분도 포함되어 있다.