한 걸음 두 걸음

Node.js 웹서버 만들기 본문

BackEnd/Node.js

Node.js 웹서버 만들기

언제나 변함없이 2019. 3. 9. 15:21
반응형

1. http 사용

http.createServer();
server.listen(port, function(){});

2. 이벤트 on처리

  • connection : server.on('connection', function(socket){});
  • request : server.on('request', function(req, res){});
  • end

res(응답)

  1. res.writeHead - write - end
  2. res.send() // 변수, 객체, json 등 모두 전달 가능(JSON.stringify()/JSON.parse())
  3. res.redirect(''); //다른 페이지로 이동시킴

3. 파일처리

request 함수 내에서 파일을 처리합니다.
var filename = 'person.png'; //같은 폴더 내에 있는 사진 파일
fs.readFile(filename , function(err,data){});

4. express

var app = exprerss(); //서버객체 app
app.set('port', 3000); //포트설정
var server = http.createServer(app);
server.listen(app.get('port),function(){});

5. 미들웨어 사용하기(use : 미들웨어 등록시키는 함수)

app.use(function(req,res,next){});
{}내에는 응답 코드를 입력하는데, 이는 req.user = 'mike' 라는 식으로 속성을 생성하거나, next();로 다름 미들웨어로 진행시킨다.

6. GET

주소표시줄에 적어서 요청하는 방식이다.
var userAsent = req.geader('User~');
var paramName = req.query.name;

7. POST & Login. html (form : method )

body-parser와 static / path를 사용한다. get방식이 query라면, post는 body이다.

app.use로 static함수 등록하여 공용자료 폴더로 접근할 수 있게끔 해주고
-> app.use(static(path.join(__dirname,'public')));
//Path는 경로를 보다 용이하기 하기위해 사용했습니다.

app.use로 html에 있는 정보를 node로 가져왔다.
-> app.use(bodyParser.urlencoded({extended:false});
-> app.use(bodyParser, json);
//login.html에 입력된 정보였던 id및 password가 req.body안에 다 들어갑니다.

8. 라우터

요청파라미터에 따라 처리방식이 달라지도록 설정하고 싶으면 라우터를 사용합니다.
이는 익스프레스 모듈에 포함되어있으므로 익스프레스 모듈을 사용하고있다면 바로 사용할 수 있습니다. ,

ch05_10 라우터 모듈제어
ch05_11 쿠키
ch05_12 세션
ch05_13 세션
등등,

Doit Node.js참고하여 공부함. 로그인까지 구현완료

반응형