웹개발/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 |
확연히 코드가 간결해졌다.