我试着用Express.io转发一个路由,但不起作用,我在Github上阅读了文档,我完全按照他们说的做了。我不知道问题出在哪里。
app.post('/signin', function(req, res) {
me.pseudo = req.body.pseudo;
me.email = req.body.email;
me.gravatar = "http://www.gravatar.com/avatar/" + md5(me.email) + "?s=140";
users.push(me);
req.io.route('hello'); //error here
});
app.io.route('hello', function(req) {
console.log('Done !');
});错误:
TypeError: Cannot call method 'route' of undefined
at /Users/anthonycluse/Sites/Tchat-Express/app.js:78:12发布于 2014-07-29 05:06:45
我不能为app.io说话,但通常当你需要在路由之间共享相同的功能时,你要么
a)使错误处理程序成为一个单独的函数,并从多个路径调用它:
function handleError(req, res) {
//handle error
}
app.post('/foo', function(req, res) {
//if conditions are met, else
handleError(req, res);
});b)通过制作一个模块来进一步抽象:
//user.js
module.exports = {
signin: function(req, res) {},
signinError: function(req, res) {},
};路由代码
//routes.js
var user = require('../modules/user');
app.post('/signin', function(req, res) {
//validate signin
//else
user.signinError(req, res);
});
app.post('/signin-no-error', user.signin);https://stackoverflow.com/questions/15493830
复制相似问题