Express 4 session TypeError:对象不是一个函数

我正在用Express 4学习nodejs来开发一个web应用程序,并且关注一些博客,当尝试启动项目时显示这个错误:

[nodetest1]# npm start nodetest1@0.0.0 start /root/node_proyects/nodetest1 node ./bin/www /root/node_proyects/nodetest1/app.js:64 app.use(session({secret: 'blablabla'})); ^ TypeError: object is not a function at Object.<anonymous> (/root/node_proyects/nodetest1/app.js:64:9) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/root/node_proyects/nodetest1/bin/www:7:11) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3 

这是app.js文件的头部:

 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(path.join(__dirname, 'public', 'favicon.ico'))); app.use(cookieParser()); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(methodOverride()); //** app.use(passport.initialize()); //** app.use(passport.session()); //** app.use(express.static(path.join(__dirname, 'public'))); app.use(session({secret: 'blablabla'})); 

和package.json文件,其中模块被加载到项目中:

 [nodetest1]# cat package.json { "name": "nodetest1", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "body-parser": "~1.13.2", "cookie-parser": "~1.3.5", "debug": "~2.2.0", "express": "~4.13.1", "express-method-override": "*", "express-session": "^1.11.3", "jade": "~1.11.0", "method-override": "^2.3.5", "mongodb": "*", "mongoose": "^4.1.1", "monk": "~1.0.1", "morgan": "~1.6.1", "passport": "^0.2.2", "passport-facebook": "^2.0.0", "serve-favicon": "~2.3.0", "session": "^0.1.0" } } 

session / Express 4或代码版本有问题吗?

我search了一下,并没有find任何线索如何解决这个问题。

你可能想声明var session = require('express-session'); 但是你的package.json文件中有express-session和其他叫session东西,这可能会让前者感到困惑。