Sto provando a configurare multer nel mio file app.js (utilizzando node.js/express) per consentire agli utenti di caricare immagini. Ho il seguente codice nel app.js:configurazione multer con restituisce l'app.use TypeError
//various require statements for passport, cookie parser, etc..
var multer = require('multer');
var app = express();
app.use(multer({dest:'./uploads/'}));
Quando provo a fare funzionare l'app ottengo TypeError: app.use() requires middleware functions
Capisco che questa domanda possono richiedere un po 'di contesto per quanto riguarda la mia app quindi per favore fatemelo sapere se sono necessarie ulteriori informazioni.
Grazie
EDIT: Altro codice app.js:
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var session = require('express-session');
//var fs = require('fs');
var multer = require('multer');
//Mongo Database
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/test-api');
//Instagram-API
var api = require('instagram-node').instagram();
//Cookie Manager
var cookieParser = require('cookie-parser');
//Grid
//var Grid = require('gridfs-stream');
//Passport
var passport = require('passport');
var InstagramStrategy = require('passport-instagram').Strategy;
var routes = require('./routes/index');
//var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(multer({dest:'./uploads/'}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(methodOverride());
app.use(session({secret: 'keyboard cat', resave: false, saveUninitialized: true }));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));
// Make our db accessible to our router
app.use(function(req,res,next){
req.db = db;
next();
});
app.use('/', routes);
sparo nel buio, ma fa la variabile multer avere il valore corretto dopo lo richiedono? (ci sono linee che toccano multer che hai omesso dal tuo campione?) Che versioni di pacciamatura ed espresso stai usando? – doldt
Per quanto posso dire non ci sono linee che si riferiscono a multer oltre a quelle che ho postato. Sto usando express 4.12.4 e multer 1.0.0 (credo lol, ho preso queste versioni da package.json). Permettetemi di modificare la mia domanda con altro codice – prcbass