2014-09-02 29 views
0

我正在嘗試製作應用程序,在應用程序目錄中這是我的app.js文件。在app.js我需要路由器文件夾並導出Routes。但我不能夠呈現index.jade使用Router而不是我得到的錯誤:express-app`index.jade`由`exports`函數提供的不正確

D:\Projects\socialApp\node_modules\express\lib\router\index.js:423 
     throw new TypeError(msg); 
      ^
TypeError: Router.use() requires callback function but got a [object Undefined] 
    at D:\Projects\socialApp\node_modules\express\lib\router\index.js:423:13 
    at Array.forEach (native) 
    at Function.use (D:\Projects\socialApp\node_modules\express\lib\router\index 
.js:419:13) 
    at D:\Projects\socialApp\node_modules\express\lib\application.js:178:21 
    at Array.forEach (native) 
    at Function.use (D:\Projects\socialApp\node_modules\express\lib\application. 
js:175:7) 
    at Object.<anonymous> (D:\Projects\socialApp\app.js:22:6) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 

D:\Projects\socialApp> 

這裏是我的app.js:

var express = require("express"), 
passport  = require("passport"), 
passportLocal = require("passport-local"), 
bodyParser  = require("body-parser"), 
cookieParser = require("cookie-parser"), 
expressSession = require("express-session"), 
jade   = require("jade"), 
mongoose  = require("mongoose"), 
routes   = require('./routes'), 
port   = process.env.PORT || 3000, 

    app = express(); 

    app.set('view engine', 'jade'); 
    app.set('views', __dirname + '/views'); 
    app.use(express.static(__dirname + '/public')); 


    app.use(passport.initialize()); 

    var routes = require('./routes/index')(passport); //i am calling here 
    app.use('/', routes); // not getting index.jade on screen. 


app.listen(port, function(){ 
    console.log('Port Listing to ' + port + ":" + __dirname); 
}); 

這裏是在router文件夾和index.js

var express = require('express'), 
router  = express.Router(); 

module.exports = function(passport){ 

    router.get('/', function(req,res){ 
     res.render('index'); //i am not getting index.jade from view folder getting error 
     }); 
} 

任何一個數字出來的問題?

回答

2

你需要return router;module.exports函數的末尾。

相關問題