[json] express.json 대 bodyParser.json

비교적 새로운 앱을 작성 중이며 어떤 앱을 사용해야하는지 궁금합니다.

express.json()

또는

bodyParser.json()

그들이 똑같은 일을한다고 가정해도 될까요?

express.json()이미 내장 된 그대로 사용 하고 싶습니다 .



답변

이전 버전의 Express에는 많은 미들웨어가 번들로 포함되어있었습니다. bodyParser는 그것을 가져온 미들웨어 중 하나였습니다. Express 4.0이 출시되었을 때 그들은 번들로 제공되는 미들웨어를 Express에서 제거하고 대신 별도의 패키지로 만들기로 결정했습니다. 구문은 다음 변경 app.use(express.json())app.use(bodyParser.json())bodyParser 모듈을 설치 한 후.

bodyParser는 사람들이 이전과 같이 Express와 번들로 제공되기를 원했기 때문에 릴리스 4.16.0에서 Express에 다시 추가되었습니다. 즉 bodyParser.json(), 최신 릴리스 를 사용하는 경우 더 이상 사용할 필요가 없습니다 . express.json()대신 사용할 수 있습니다 .

릴리스 내역은 4.16.0에 대한 것이며 여기 에 관심이있는 사용자를위한 것이며 풀 요청은 여기에 있습니다 .


답변

예! 옳은

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/users', usersRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;


답변

네, 둘 다 동일합니다.

node_module / express / lib / express.js 파일로 이동하면

모듈 종속성 본문 파서 모듈이 이미 가져 왔습니다.

/**
 * Module dependencies.
 */

var bodyParser = require('body-parser')
//other modules

bodyparser 모듈 내부의 개체와 메서드는 특수 개체 모듈을 사용하여 내보낼 때 액세스 할 수 있습니다.

exports = module.exports = createApplication;
exports.json = bodyParser.json

이것은 단지 호출하여 표현 객체에서 액세스 할 수 있습니다.

express.json()


답변