Express错误 – TypeError:express.Router不是一个函数

我正在通过使用Express,EJS和Node的新波士顿学习本教程。 我的代码几乎完全像他的设置,除了最后使用app.listen而不是module.exports =发送。

当我尝试运行我的节点程序时出现以下错误:

var router = express.Router(); ^ TypeError: express.Router is not a function 

这是我的app.js:

 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); 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', 'ejs'); // uncommet after placing your favicon in /public //app.use(favicon(__dirname + '/public/favicon.ico')); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); app.use('/users', users); // catch 404 and forward error to handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); app.listen(3000, function(){ console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); }); 

和我的index.js文件是:

 var express = require('express'); var router = express.Router(); router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); module.exports = router; 

我以前做过类似的教程,并没有出现这个问题。 任何想法可能是什么原因造成的?