<Node.js> 3. Server
by BFineapp.js
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
// all environments 환경설정
app.set('port', process.env.PORT || 3000); //env.PORT에 값이 있으면 그것을 쓰고 아니면 3000번 포트 사용
app.set('views', __dirname + '/views');//__dirname 현재 디렉토리 경로
app.set('view engine', 'jade'); //jade는 형식
app.use(express.favicon()); // app.use -> middle ware 등록 시키기 위한 메소드
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
app.get('/', routes.index); // html get
app.get('/users', user.list);
http.createServer(app).listen(app.get('port'), function(){ // 서버 구동
console.log('Express server listening on port ' + app.get('port'));
});
실행
<실행 후 콘솔화면>
< 접속 >
< 접속 후 콘솔화면 >
1.Middle Ware
서버의 기능을 함수로 만들어 놓은 것 app.use(기능)
var express=require("express"); // 서버구현
var http=require("http");
var path=require("path");
var app=express(); // 실행
app.use(function(req,res,next){ // 기능추가
console.log("first");
res.info=" Hello World!";
next(); // 다음 use 실행
});
app.use(function(req,res,next){ // 기능추가
console.log("second");
res.writeHead("200",{"Content-Type":"text/html;charset=utf8"
}); // 글자 포멧
res.end(res.info+" end"); // 종료
});
http.createServer(app).listen(3000,function(){ // 서버실행
console.log("start");
});
실행
※ events.js ( events.js :183, throw er; listen eaddrinuse ::: 3000 ) 오류 -> 서버가 동시에 두개 이상 켜졌을때 발생
3.Router
get 방식
app.get('/', routes.index);
app.get('/users', user.list); // 클라이언트의 요청을 전달
=====================================
var express=require("express"); // 서버구현
var http=require("http");
var path=require("path");
var app=express(); // 실행
app.use(express.static(path.join(__dirname,"public"))); // public 접근 필요없이 접근하게 함(하나의 루트처럼 만드는 것)
app.get("/login",function(req,res){ //login?id ~~ 에서 ? 뒤에 값들을 가져온다
console.log("login");
var id=req.param("id");
var pw=req.param("pw");
res.writeHead("200",{"Content-Type":"text/html;charset=utf8"
});
res.write("id :"+id+" pw : "+pw);
res.end();
});
http.createServer(app).listen(3000,function(){ // 서버실행
console.log("start");
});
<h3> Hello World!</h3>
<form action="/login" method="get">
<input type="text" name="id">
<input type="text" name="pw">
<input type="submit" value="submit">
</form>
Post 방식
var body_Parser= require("body-parser"); // 외부모듈
app.use(body_Parser.urlencoded({extended : false})); // url 인코딩
app.post("/login",function(req,res){
실행
'공부(2018~2019) - 스킨변경전 > Node.js' 카테고리의 다른 글
<Node.js> 2. Event (0) | 2018.04.03 |
---|---|
<Node.js> 1. Module (0) | 2018.04.03 |
<Node.js> 0. Basic (0) | 2018.04.02 |
블로그의 정보
57개월 BackEnd
BFine