덴마크초코우유
2018. 10. 27. 20:15
Express 모듈
express 모듈은 node.js에서 웹 서버를 개발할 때 가장 많이 사용하는 모듈이다. node.js에서 제공하는 http 모듈보다 더 많은 기능을 제공해 준다. 외부 모듈이기 때문에 설치가 필요하다.
$ sudo npm install express
설치를 완료하면 express 모듈로 서버를 생성할 수 있다. 다음은 서버 생성 및 실행하는 예제 코드이다.
var express = require('express');
var app = express();
app.use(function(request, response){
response.writeHead(200, {'Content-Type' : 'text/html'});
response.end('<h1>Hello express</h1>');
});
app.listen(52273, function(){
console.log("Server Running at http://127.0.0.1:52273");
});
위의 코드를 실행시 다음과 같은 결과를 출력한다.

크롬이나 익스플로러 같은 브라우저를 통해 접속하면 다음과 같은 화면이 나온다.

request 이벤트 리스너의 매개변수에는 request 객체와 require 객체가 들어간다. express 모듈을 사용하면 다양한 기능을 사용할 수 있다. 그 중 하나가 response 객체의 send 메소드 이다. send()의 매개변수에 따라 HTML과 Json의 형태로 적절하게 응답할 수 있다. 또한 response.status().send()를 통해 상태코드를 전달하여 요청에 대한 적절한 처리를 가능하게 한다.
app.use(function(request, response){
response.status(404).send("this is error");
});
request 객체에서도 다양한 메소드와 속성을 사용할 수 있다. 다음은 request의 header메서드를 통해 요청 헤더의 속성을 추출하는 코드이다.
app.use(function(request, response){
var agent = request.header('user-Agent');
console.log(request.headers);
console.log(agent);
response.sendStatus(200);
});
이벤트 리스너를 위와 같이 수정하고 실행하면 다음과 같은 결과를 출력한다.
