programing

express.json vs bodyParser.json

newstyles 2023. 3. 10. 21:20

express.json vs bodyParser.json

비교적 새로운 앱을 만들고 있는데 어떤 앱을 사용해야 할지 고민하고 있습니다.

express.json()

또는

bodyParser.json()

그들이 같은 일을 한다고 생각해도 될까요?

그냥 쓰고 싶다express.json()이미 내장되어 있습니다.

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

이전과 같이 body parser를 Express에 번들하기를 원했기 때문에 릴리스 4.16.0에서 body parser가 Express에 다시 추가되었습니다.그 말은 즉, 당신은 사용할 필요가 없습니다.bodyParser.json()최신 릴리즈의 경우 더 이상 사용할 수 없습니다.사용할 수 있습니다.express.json()대신.

4.16.0의 릴리스 이력은 관심 있는 사용자를 위해 제공되며 풀 요청은 여기에 있습니다.

YES! 정답

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_model/model/lib/model.model.model로 이동했을 경우

모듈 의존관계에서 본문 파서 모듈이 이미 Import되어 있는 것을 알 수 있습니다.

/**
 * Module dependencies.
 */

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

Bodyparser 모듈 내의 오브젝트 및 메서드는 특별한 오브젝트모듈을 사용하여 내보내기 때문에 접근할 수 있습니다.

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

이것은 express 객체에서 호출하는 것만으로 액세스 할 수 있습니다.

express.json()

Yes!! 둘 다 사용할 수 있습니다.하지만, 그 이후로는express.json()에 이미 내장되어 있습니다.express, 사용하는 것이 현명합니다.express.json()보다bodyParser.json().

Yes!! body-parser를 express와 통합하자는 의견이 널리 퍼져있기 때문에, 이번 릴리즈는 바로 이것이다.양쪽이 같은 작업, 즉 착신 요구 개체를 JSON 개체로 인식한다고 가정해야 합니다.어느쪽이든 자유롭게 사용하세요.

언급URL : https://stackoverflow.com/questions/47232187/express-json-vs-bodyparser-json