TypeError:app.use()需要在EventEmitter.use中使用中间件函数

时间:2016-05-12 08:01:43

标签: node.js middleware multer express-session

我在使用linux操作系统的raspberry pi上运行Node.js时遇到问题。

在我的本地计算机上,该程序运行良好。但是一旦我在pi上启动它,我收到以下错误消息

TypeError: app.use() requires middleware functions
    at EventEmitter.use     (/var/www/node_modules/express/lib/application.js:209:11)
    at Object.<anonymous> (/var/www/html/server.js:57:5)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:134:18)
    at node.js:962:3

我做了一些研究,正如我在其他帖子中提到的那样,我安装了multer。但现在我仍然收到错误消息。我的问题是,因为我刚接触Nodejs,它究竟是什么意思,我怎么能修复它?我如何在此时使用multer?

app.use( expressSession({
                cookie:
                {
                        maxAge: 36000000,
                        httpOnly: false
                },
                secret:'abc123'
}) );

1 个答案:

答案 0 :(得分:0)

我有同样的问题,但这是因为虽然包括multer,我忘了删除前面的分号。所以它不能被包括在内

错误:

var path= require('path'),
    ...
    moment = require('moment'); // this was the error  
    multer = require('multer');

正确的:

var path= require('path'), 
    ...
    moment = require('moment'), // this is correct (I know it's silly error :) )
    multer = require('multer');