bodyParser는 더 이상 사용되지 않습니다. express 4
Express 4.0을 사용하고 있으며 본문 구문 분석기가 Express Core에서 제거되었으며 권장 교체를 사용하고 있지만
body-parser deprecated bodyParser: use individual json/urlencoded middlewares server.js:15:12 body-parser deprecated urlencoded: explicitly specify "extended: true" for extended parsing node_modules/body-parser/index.js:74:29
이 미들웨어를 어디에서 찾을 수 있습니까? 또는이 오류가 발생하지 않아야합니까?
var express = require('express');
var server = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var passport = require('./config/passport');
var routes = require('./routes');
mongoose.connect('mongodb://localhost/myapp', function(err) {
if(err) throw err;
});
server.set('view engine', 'jade');
server.set('views', __dirname + '/views');
server.use(bodyParser());
server.use(passport.initialize());
// Application Level Routes
routes(server, passport);
server.use(express.static(__dirname + '/public'));
server.listen(3000);
2014-06-19 기준으로 bodyParser()
생성자 를 사용하는 것이 더 이상 사용되지 않음을 의미합니다 .
app.use(bodyParser()); //Now deprecated
이제 메소드를 개별적으로 호출해야합니다.
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());
등등.
그래도 경고 메시지가 나타나면 urlencoded
사용해야합니다
app.use(bodyParser.urlencoded({
extended: true
}));
extended
구성 객체 키가 지금 기본값이 없기 때문에 명시 적으로 전달 될 필요가있다.
Express> = 4.16.0을 사용하는 경우 express.json()
및 방법 아래에 본문 구문 분석기가 다시 추가되었습니다 express.urlencoded()
.
제로 경고를 원하십니까 ? 다음과 같이 사용하십시오.
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
설명 : extended
옵션 의 기본값 이 더 이상 사용되지 않으므로 명시 적으로 true 또는 false 값을 전달해야합니다.
이전 버전의 express에서는 다음을 사용해야했습니다.
app.use(express.bodyparser());
body-parser는 node와 express 사이의 미들웨어이기 때문에. 이제 다음과 같이 사용해야합니다.
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
body-parser는 폼의 입력을 읽고
req.body
'body-parser'를 통해 액세스 할 수있는 자바 스크립트 객체로 저장하는 Express 미들웨어의 한 부분입니다 (를 통해 설치해야 함npm install --save body-parser
) 자세한 내용은 https://github.com/expressjs/body를 참조하십시오. 파서
var bodyParser = require('body-parser');
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
extended
true로 설정 되면 수축 된 (압축 된) 몸체가 팽창됩니다. 때 extended
false로 설정되어, 수축 몸이 거부됩니다.
나는 추가하는 동안 그것을 발견
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
때로는 익스프레스가 처리하는 방법을 결정하는 것이 쿼리 문제입니다.
예를 들어 매개 변수가 본문이 아닌 URL 로 전달 될 수 있습니다.
이 경우 body 및 url 매개 변수를 모두 캡처 하고 사용 가능한 매개 변수를 사용해야합니다 (아래의 경우 body 매개 변수를 선호 함).
app.route('/echo')
.all((req,res)=>{
let pars = (Object.keys(req.body).length > 0)?req.body:req.query;
res.send(pars);
});
Express 생성기를 사용하는 것에 대한 의견은 무엇입니까? without deprecated messages
로그에서 시작되는 기본 프로젝트를 생성 합니다.
이 명령을 실행
npm install express-generator -g
이제이 명령을 입력하여 새 Express.js 시작 응용 프로그램을 작성하십시오 your Node projects folder
.
express node-express-app
이 명령은 express가 이름을 가진 새로운 Node.js 애플리케이션을 생성하도록 지시합니다 node-express-app
.
다음 Go to the newly created project directory
, install npm packages
그리고 start the app
명령을 사용하여
cd node-express-app && npm install && npm start
app.use(bodyParser.urlencoded({extended: true}));
나는 같은 문제가 있지만 이것은 나를 위해 일한다. 이 확장 부분을 시도해 볼 수 있습니다.
참고 URL : https://stackoverflow.com/questions/24330014/bodyparser-is-deprecated-express-4
'Programming' 카테고리의 다른 글
언제 List와 LinkedList를 사용해야합니까? (0) | 2020.02.27 |
---|---|
Git 커밋 범위에서 더블 도트“..”와 트리플 도트“…”의 차이점은 무엇입니까? (0) | 2020.02.27 |
EC2 인스턴스의 키 페어 변경 (0) | 2020.02.27 |
EditText의 첫 글자 대문자 (0) | 2020.02.27 |
핍의 캐시를 제거 하시겠습니까? (0) | 2020.02.27 |