코드

// Express 기본 모듈 불러오기

var express = require('express')

, http = require('http');

 

// 익스프레스 객체 생성

var app = express();

 

// 미들웨어에서 redirect 메소드 사용

app.use(function(req, res, next) {

  console.log('첫번째 미들웨어에서 요청을 처리함.');

  

  res.redirect('http://google.co.kr');

});



// Express 서버 시작

http.createServer(app).listen(3000, function(){

console.log('Express 서버가 3000번 포트에서 시작됨.');

});

로그

C:\Program Files\nodejs\node.exe app.js

익스프레스 서버를 시작했습니다 : 3000Express 서버가 3000번 포트에서 시작됨.
첫번째 미들웨어에서 요청을 처리함.

설명 

http://localhost:3000/

위 링크로 접속 시 GOOGLE로 이동하게 되는데 redirect 메소드는 패러미터에 해당하는 URL로 페이지를 이동하기 때문입니다.

코드

// Express 기본 모듈 불러오기

var express = require('express')

, http = require('http');

 

// 익스프레스 객체 생성

var app = express();

 

// 미들웨어에서 응답 전송할 때 send 메소드 사용하여 JSON 데이터 전송

app.use(function(req, res, next) {

  console.log('첫번째 미들웨어에서 요청을 처리함.');

  

  res.send({name:'소녀시대', age:20});

});



// Express 서버 시작

http.createServer(app).listen(3000, function(){

console.log('Express 서버가 3000번 포트에서 시작됨.');

});

로그

C:\Program Files\nodejs\node.exe app.js

Express 서버가 3000번 포트에서 시작됨.
첫번째 미들웨어에서 요청을 처리함.
첫번째 미들웨어에서 요청을 처리함.

설명 

http://localhost:3000/

익스프레스 서버 시작 이후 위 주소로 접속하면 위에서 생성한

{"name":"소녀시대","age":20}

결과를 확인할 수 있습니다.

이전에 했던 HTML 태그 대신 send 메소드로 결과를 출력한 것입니다.

참고 : 위 자료구조는 JSON 형태입니다.

코드

// Express 기본 모듈 불러오기

var express = require('express')

, http = require('http');

 

// 익스프레스 객체 생성

var app = express();

 

// 첫번째 미들웨어에서 다음 미들웨어로 넘김

app.use(function(req, res, next) {

    console.log('첫번째 미들웨어에서 요청을 처리함.');

    

    req.user = 'mike';

 

    next();

});

 

// 두번째 미들웨어에서 응답 전송

app.use('/', function(req, res, next) {

    console.log('두번째 미들웨어에서 요청을 처리함.');

    

    res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});

    res.end('<h1>Express 서버에서 ' + req.user + '가 응답한 결과입니다.</h1>');

 

});



// Express 서버 시작

http.createServer(app).listen(3000, function(){

console.log('Express 서버가 3000번 포트에서 시작됨.');

});

로그

C:\Program Files\nodejs\node.exe app.js

익스프레스 서버를 시작했습니다 : 3000Express 서버가 3000번 포트에서 시작됨.
첫번째 미들웨어에서 요청을 처리함.
두번째 미들웨어에서 요청을 처리함.
첫번째 미들웨어에서 요청을 처리함.
두번째 미들웨어에서 요청을 처리함.

설명 

http://localhost:3000/

익스프레스 서버 시작 이후 위 주소로 접속하면 위에서 생성한

Express 서버에서 mike가 응답한 결과입니다.

결과를 확인할 수 있습니다.

두 개의 미들웨어를 만들고 첫 미들웨어에서 usr 값을 설정한 뒤 두 번째 미들웨어에서 결과 값을 출력한 것입니다.

코드

// Express 기본 모듈 불러오기

var express = require('express')

, http = require('http');

 

// 익스프레스 객체 생성

var app = express();

 

// 직접 미들웨어 객체를 만들어 설정

app.use(function(req, res, next) {

  console.log('첫번째 미들웨어에서 요청을 처리함.');

  

  res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});

  res.end('<h1>Express 서버에서 응답한 결과입니다.</h1>');

 

});

 

// Express 서버 시작

http.createServer(app).listen(3000, function(){

console.log('Express 서버가 3000번 포트에서 시작됨.');

});

로그

C:\Program Files\nodejs\node.exe app.js

익스프레스 서버를 시작했습니다 : 3000Express 서버가 3000번 포트에서 시작됨.
첫번째 미들웨어에서 요청을 처리함.

설명 

http://localhost:3000/

미들웨어 객체가 요청에 대한 응답을 하고 html 코드로 응답 페이지를 보여줍니다.

위 링크로 접속 시 

Express 서버에서 응답한 결과입니다.

이러한 결과 창을 볼 수 있습니다.

코드

// Express 기본 모듈 불러오기

var express = require('express')

, http = require('http');

 

// 익스프레스 객체 생성

var app = express();

 

// 기본 포트를 app 객체에 속성으로 설정

app.set('port', process.env.PORT || 3000);

 

// Express 서버 시작5

http.createServer(app).listen(app.get('port'), function(){

console.log('익스프레스 서버를 시작했습니다 : ' + app.get('port'));

});

로그

C:\Program Files\nodejs\node.exe app.js

익스프레스 서버를 시작했습니다 : 3000

설명 

http://localhost:3000/

익스프레스 서버 시작 이후 위 주소로 접속하면 위에서 생성한 서버에 접속됩니다.

express 모듈 호출 이후 3000번 포트를 연 것입니다.

+ Recent posts