简体   繁体   English

nodejs / express-无法使用护照加载路线

[英]nodejs/express - cannot load routes using passport

I am trying to use passport to add user sessions on my webapp. 我正在尝试使用通行证在我的Web应用程序上添加用户会话。 I have configure my main js file as follow: 我已经将我的主要js文件配置如下:

 /**
 * Module dependencies.
 */
var express     = require('express');
var user        = require('./server/routes/user');
var routes      = require('./server/routes/index');
var http        = require('http');
var path        = require('path');
var app         = express();
var passport    = require('passport');
var flash       = require('connect-flash');

require('./server/config/passport')(passport); // pass passport for configuration

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));

app.configure(function(){
    // required for passport
    app.use(express.session({ secret: 'ilovesefounders' })); // session secret
    app.use(passport.initialize());
    app.use(passport.session()); // persistent login sessions
    app.use(flash()); // use connect-flash for flash messages stored in session
})


// routes ======================================================================
require('./server/routes/index')(app, passport); // load our routes and pass in our app and fully configured passport
routes.mount(app);

However when i try to launch it I get the following error: 但是,当我尝试启动它时,出现以下错误:

require('./server/routes/index')(app, passport); // load our routes and pass i
                                ^
TypeError: object is not a function
    at Object.<anonymous> (/Path/app.js:38:33)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

What's going wrong here? 这是怎么了

I don't know how your index.js looks like but you probably did not export your function module. 我不知道您的index.js看起来如何,但是您可能没有导出功能模块。

Check if index.js looks something like this: 检查index.js是否看起来像这样:

module.exports = function(app, passport) {
    /* code */
};

And you don't need to require "./server/routes/index" again. 而且您不需要再次要求“ ./server/routes/index”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM