nodejs -- Express 기초

nodejs 2016.05.13 17:05

nodejs -- Express 기초


환경 : nodejs LTS 4.4.4, Express 4.13.4


참고 : http://expressjs.com/ko/guide/writing-middleware.html

          http://expressjs.com/

          http://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm



1. Hello World 출력하기


var express = require('express');

var app = express();


app.get('/', function (req, res) {

  res.send('Hello World!');

});


app.listen(3000, function () {

  console.log('Example app listening on port 3000!  http://localhost:3000');

});




2. html 파일 출력하기


http://expressjs.com/en/4x/api.html#res.sendFile

  -- sendFile()  ; Express 4.8.0 부터 사용함.



var express = require('express');

var app = express();


app.get('/', function (req, res) {

   res.sendFile( __dirname + "/" + "index.html" );

})


app.listen(3000, function () {

  console.log('Example app listening on port 3000!  http://localhost:3000');

});



3. 미들웨어 사용시에는 app.use() 사용


http://expressjs.com/en/4x/api.html#app.use

  -- next() 가 없으면, 다음 함수 실행 안함.



var express = require('express');

var app = express();


var myLogger = function (req, res, next) {

    console.log('logged....');

    next();   // next() 생략시에는 여기서 프로그램 진행 멈춤. 

};


var requestTime = function (req, res, next) {

    req.requestTime = Date.now();

    console.log('req time == ' + req.requestTime);

    next();

};



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

    res.send('Hello World!');

    next();

});


app.use(myLogger);  // 미들웨어 함수 myLogger 실행. 

                                   // myLogger() 내부의 next() 생략시에는 다음에 있는 requestTime() 실행 안됨. 


app.use(requestTime);  // 미들웨어 함수 requestTime 실행.


app.listen(3000, function () {

    console.log('listening on port 3000!  http://localhost:3000');

});







Posted by 자유프로그램