Я получаю "Большинство промежуточного программного обеспечения (например, bodyParser) и должно быть установлено отдельно в nodeJS" - PullRequest
0 голосов
/ 20 ноября 2018

При попытке настроить мое приложение, которое использует несколько промежуточных программ, например body-parser), я получаю следующую ошибку:

Ошибка: большинство промежуточных программ (например, bodyParser) больше не связаны сЭкспресс и должны быть установлены отдельно.Пожалуйста, смотрите https://github.com/senchalabs/connect#middleware.

Я установил body-parser отдельно с:

npm i body-parser

Мой код NodeJS:

// Server definitions

var express = require('express');
var cors = require('cors');
var bodyParser = require('body-parser');
const neo4j = require('neo4j-driver').v1;

var restify = require('restify');
var expressJwt = require('express-jwt');
var session = require('express-session');
var config = require('./config.json')
var app = express();

var router = express.Router();

var port = 3003;
app.use(restify.plugins.bodyParser());
app.use(express.bodyParser());
var bodyParser = require('body-parser'); 
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());
app.set('port', process.env.PORT || 3003);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(methodOverride());
app.use(session({ resave: true, saveUninitialized: true, secret: 'uwotm8' }));

// parse application/json
app.use(bodyParser.json());                        

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }));

// parse multipart/form-data
app.use(multer());

app.use(express.static(path.join(__dirname, 'public')));


app.use(bodyParser.json());

app.use(bodyParser.json({ type: 'application/vnd.api+json' }))

app.use(cors());

app.use(session({ secret: config.secret, resave: false, saveUninitialized: true }));

var multer = require('multer');
var path = require('path');
var app = express();
var mkdirp = require('mkdirp')
var port = 3003;

var myModule = require('./api-mine-server/api-mine-controller.js');

app.use(express.static(path.join(__dirname, 'uploads')));

app.use(function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

var storage = multer.diskStorage({

    destination: function (req, file, cb) {
       //code
        });
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname);
    }

});
var upload = multer({ storage: storage });

app.post("/upload", upload.array("uploads[]", 12), function (req, res) {

    //code
});

// -----------------  File Uploader code  ends  -------------------------

app.listen(app.get('port'), function(){
    console.log('Express server on port ' + app.get('port'));
 });

var server = app.listen(port, function () {
    console.log("Listening on port %s...", port);
});

1 Ответ

0 голосов
/ 20 ноября 2018

Вы должны удалить строку app.use(express.bodyParser());, так как она использует body-parser из Express, и выдает ошибку

Большинство промежуточного ПО (например, bodyParser) больше не связано с Express и должноустанавливается отдельно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...