웹개발/node.js

bodyParser 사용해서 request 파싱하기

육만 2021. 1. 31. 09:00

node.js에서

request를 보냈을 때 기존에는

request.on('data', function(data) {

 body = body + data;

});

 

이런 식으로 data를 받고

파싱을 했다.

 

코드가 지저분하고 비효율적이다.

 

이걸 해결해준 녀석이 바로

bodyParser

 

이걸 이용하기 위해서는 express 모듈을

설치해야 한다.

 

1.터미널에서 두 줄 입력

npm init <--이것은 json package를 해당 폴더에 설치

npm install express --save <-- local 환경에 express 모듈 설치

 

 

3. main.js 파일 위에 아래 두 줄 선언.

1
2
3
const express = require('express')
 
const app = express();
cs

 

이제 express를 쓸 수 있다.

 

 

 

프로젝트에 위 두 줄을 삽입한다.

body-parser 모듈을 사용하기 위한 코드다.

 

 

변경 전,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
app.post('/update_process'function(request, response) {
  var body = '';
  request.on('data'function(data) {
    body = body + data;
  });
  request.on('end'function() {
    var post = qs.parse(body);
    var id = post.id;
    var title = post.title;
    var description = post.description;
    fs.rename(`data/${id}`, `data/${title}`, function(error) {
      fs.writeFile(`data/${title}`, description, 'utf-8'function(err) {
        response.redirect(`/page/${title}`);
      })
    })
  })
})
cs

 

변경 후,

1
2
3
4
5
6
7
8
9
10
11
app.post('/update_process', function (request, response) {
  var post = request.body;
  var id = post.id;
  var title = post.title;
  var description = post.description;
  fs.rename(`data/${id}`, `data/${title}`, function (error) {
    fs.writeFile(`data/${title}`, description, 'utf-8', function (err) {
      response.redirect(`/page/${title}`);
    })
  })
})
cs

확연히 코드가 간결해졌다.