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.logger
和express.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'); }