【发布时间】:2015-12-17 15:58:39
【问题描述】:
我来了
连接不推荐使用的多部分:在 node_modules\express\node_modules\connect\lib\middleware\bodyParser.js 处使用解析器(多方、busboy、强大)npm 模块 连接不推荐使用的 methodOverride:在 app.js:22:17 处使用方法覆盖 npm 模块 D:\login\node_modules\express\lib\router\index.js:306 抛出新的错误(味精); ^ 错误:.post() 需要回调函数,但得到了 [object Undefined] 在 D:\login\node_modules\express\lib\router\index.js:306:11 在 Array.forEach (本机) 在 Router.route (D:\login\node_modules\express\lib\router\index.js:302:13) 在 Router.(匿名函数) [as post] (D:\login\node_modules\express\lib\router\index.js:333:16) 在 Function.app.(匿名函数) [as post] (D:\login\node_modules\express\lib\application.js:467:26) 在对象。 (D:\login\app.js:32:5) 在 Module._compile (module.js:434:26) 在 Object.Module._extensions..js (module.js:452:10) 在 Module.load (module.js:355:32) 在 Function.Module._load (module.js:310:12)在我的 express.Express 版本为 3 的节点中,我无法启动 app.js 文件。
这里是 app.js 文件:
/** * Module dependencies. */
var express = require('express');
var routes = require('./routes');
var signup = require('./routes/login');
var login = require('./routes/signup');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 8000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({secret: 'secretkeyQWERTY'}));
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')){
var use=app.use(express.errorHandler());
}
app.get('/', routes.index);
app.post('/signup', signup.signup);
app.post('/login', login.login);
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
【问题讨论】:
-
你能添加你的 app.js 的示例代码吗?
-
这是在使用
express.bodyParser()时发出的警告,因为对之前捆绑的express.multipart()的支持已从 Connect 和 Express 中删除。相关:How to get rid of Connect 3.0 deprecation alert? -
有人可能会问“你到底为什么要使用 express 3”?