Node.js | Express 프레임워크 | Express을 이용한 기본 스크립트
그럼 Express를 이용한 응용 프로그램의 스크립트를 작성한다. 먼저 Express를 사용하는 가장 기본적인 스크립트를 생각해 본다.
기본 스크립트 작성
텍스트 편집기를 사용하여, 아래의 스크립트를 작성한다. 그리고 앞전에 “expressapp"폴더에 “app.js"라는 이름으로 저장한다.
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello World!');
})
var server = app.listen(3000, function(){
console.log('Server is running!');
})
저장되면, 명령 프롬프트에서이 app.js가 있는 폴더( “expressapp"폴더)로 이동하여,
node app.js
이렇게 node 명령을 실행한다. 그리고 브라우저에서 다음을 방문해 본다.
화면에 “Hello World!“로 텍스트가 표시된다. 아직 템플릿도 아닌, 단지 텍스트를 출력하고 있는 만큼 간단한 예제이지만, “Express를 사용하는 응용 프로그램"의 기본 스크립트는 완성 되었다.
Express 기본 처리 정리
이 예제에서는 Express를 이용하기에 기존의 스크립트는 작성법이 변경 되었다. 그럼 포인트를 정리한다.
Express를 로드한다.
var express = require('express');
먼저 Express 라이브러리를 로드한다. 이는 require('express')
으로 수행할 수 있으며, 로드된 변수 express를 사용하여 Express 기능을 이용할 수 있다.
Express Application 객체 만든다.
var app = express();
최초에 실행하는 것은 애플리케이션의 객체를 준비이다. 이는 express 함수를 호출한다. 이 함수는 Express 애플리케이션인 ‘Application’ 객체를 생성하고 반환한다.
GET 등록하기
app.get("/", function(req, res){...중략...});
이어서 GET 등록을 수행한다. 이는 HTTP의 GET에 의한 액세스를 등록한다. 첫번째 인수에는 액세스하는 경로를 두번째 인수에는 실행하는 함수를 각각 지정한다. 이것으로 첫번째 인수의 경로에 액세스가 있었을 때, 두번째 인수의 함수를 호출을 하게 된다.
두번째 인수의 콜백 함수는 request와 response 객체가 각각 인수로 전달된다. 이는 이미 잘 알고 있는 요청 및 응답 객체가 전달된다.
이 get 메소드에 필요한 만큼 액세스하는 경로에 함수를 등록해 나가면, 얼마든지 페이지를 추가해 나갈 수 있다. 이걸로 귀찮은 라우팅 처리 등이 필요 없어지게 된다.
포트를 수신(listen)한다.
app.listen(3000, function(){...중략...});
마지막으로, 포트 번호를 지정하여 “listen"를 호출한다. 이것으로 지정 포트 번호로 대기 상태를 시작한다. 콜백 함수로 수신 시작 후의 처리를 준비할 수 있다.
이것으로 서버 시작 처리가 완료된다. 이 후에는 어디선가 지정된 경로에 액세스가 있으면, 그 처리가 실행되게 된다.
Node.js 자체로 만들었던 것과 비교하면, 충분히 깔끔한 스크립트가 되었다. Express를 사용하면 충분히 효율적으로 Web 어플리케이션을 만들 수 있다.