2016-12-22 22 views
3
var express = require('express'); 
var app = express(); 

var middleware = { 
    requireAuthentication: function(req, res, next){ 
     console.log("private route hit"); 
     next(); 
    } 
}; 

app.use(middleware.requireAuthentication()); 


app.get('/about', 

    function(req, res){ 
    res.send('You clicked on about!'); 

    } 

); 
var projectDir = __dirname + '/public'; 
app.use(express.static(projectDir)); 
app.listen(3000), function(){ 
    console.log('Static service started'); 

}; 

next()は機能ではありません(サーバーを実行しようとすると)エラーが発生します。私はNodejsのチュートリアルに従ってきました。私がここにいる問題は何ですか?next()は関数エラーではありませんNode.js

+0

'FOO(:あなたはとても自然にnextパラメータはundefined.

はそうあなたが機能を渡している()を取り除くapp.useに、ないその結果、ある、任意の引数を指定して、それを呼び出していませんbar()) 'は常に' bar'を最初に呼び出し、戻り値を 'foo'に渡します。 'requireAuthentication'はあなたから呼ばれるべきではありません。 –

答えて

4

このライン:

app.use(middleware.requireAuthentication()); 

通話あなたの方法とapp.useにその戻り値を渡します。

app.use(middleware.requireAuthentication); 
// No() here --------------------------^ 
関連する問題