nodejs -- Express 기초
nodejs -- Express 기초
환경 : nodejs LTS 4.4.4, Express 4.13.4
참고 : http://expressjs.com/ko/guide/writing-middleware.html
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');
});