TypeError:对象函数(req,res,next){app.handle(req,res,next); }没有方法“configuration”

任何人都可以指出,当我试图运行下面的代码,为什么我得到这个错误?

var express = require('express'); var login = require('./routes/login'); var app = express(); //all environments app.configure(function () { app.use(express.logger('dev')); app.use(express.bodyParser()); }); app.post('/loginUser',login.loginUser); app.listen(3000); console.log("Listening on port 3000..."); 

我正在使用4.x版本的express.js。

Express 4.x没有configuration方法。

https://github.com/visionmedia/express/wiki/Migrating-from-3.x-to-4.x

此外,它没有express.loggerexpress.bodyParser已被弃用年龄以前。

Tom在他的博客文章中提供了新特性 – 节点 – expression – 4的示例,说明如何从express.v3.x使用app.configure转换为Express 4.0。

为了方便,我添加了下面的代码示例。 在下面的例子中,您可以将“set”replace为“use”。

版本3.x

 // all environments app.configure(function(){ app.set('title', 'Application Title'); }) // development only app.configure('development', function(){ app.set('mongodb_uri', 'mongo://localhost/dev'); }) // production only app.configure('production', function(){ app.set('mongodb_uri', 'mongo://localhost/prod'); }) 

版本4.0

 // all environments app.set('title', 'Application Title'); // development only if ('development' == app.get('env')) { app.set('mongodb_uri', 'mongo://localhost/dev'); } // production only if ('production' == app.get('env')) { app.set('mongodb_uri', 'mongo://localhost/prod'); }