2017-02-03 11 views
0

私はここでnewbですので、私には簡単に行きます。 私は、次のserver.jsを持っている:express static pathはpassport.jsにはありません

var express = require('express'); 
var app = express(); 
var path = require('path'); 

var port = process.env.PORT || 3001; 
var cookieParser = require("cookie-parser"); 
var session = require('express-session'); 
var morgan = require("morgan"); 
var mongoose = require("mongoose"); 
var bodyParser = require("body-parser"); 
var passport = require("passport"); 
var flash = require("connect-flash"); 

app.use('/bower_components', express.static(__dirname + '/bower_components')); 
app.use('./config/auth', express.static(__dirname + './config/auth')); 
app.use('/app', express.static(__dirname + '/app')); 
app.set('views', __dirname + '/dist/views'); 
app.set('view engine', 'jade'); 

require('./config/passport')(passport); 
app.use(morgan('dev')); 
app.use(cookieParser()); 
app.use(bodyParser.urlencoded({extended:false})); 
app.use(session({secret: 'anystringoftext', 
       saveUninitialized: true, 
       resave: true})); 

app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(flash()); 
app.use(express.static(__dirname + '/dist')); 

//app.use(express.static(path.join(__dirname, '/*'))); 
require('./app/routes.js')(app, passport); 

app.listen(port); 
console.log('server running on port:'+port); 

私はGoogleの認証で動作するようにパスポートを取得しようとしています:

var GoogleStrategy = require('passport-google-oauth').OAuth2Strategy; 
var User = require('../app/models/user'); 
var configAuth = require('./config/auth'); 
module.exports = function(passport){ 
    passport.serializeUser(function(user, done){ 
     done(null, user.id); 
    }); 
    passport.deserializeUser(function(id, done){ 
     User.findById(id, function(err, user){ 
      done(err, user); 
     }) 
    }); 
    passport.use(new GoogleStrategy({ 
     clientID: configAuth.googleAuth.clientID, 
     clientSecret: configAuth.googleAuth.clientSecret, 
     callbackURL: configAuth.googleAuth.callbackURL 
    }, function(accessToken, refreshToken, profile, done) { 
     process.nextTick(function(){ 
      User.findOne({'google.id': profile.id}, function(err, user){ 
       if(err) 
        return done(err); 
       if(user) 
        return done(null, user); 
       else { 
        var newUser = new User(); 
        newUser.google.id = profile.id; 
        newUser.google.token = accessToken; 
        newUser.google.name = profile.displayName; 
        newUser.google.email = profile.emails[0].value; 

        newUser.save(function(err){ 
         if(err) 
          throw err; 
         return done(null, newUser); 
        }) 
        console.log(profile); 
       } 
      }); 
     }); 
    } 

    )); 
} 

を、私は次のエラーを取得しています:

Error: Cannot find module './config/auth' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object. (/Users/toddcoulson/Documents/PTO/config/passport.js:3:18) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object. (/Users/toddcoulson/Documents/PTO/server.js:20:1) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12)

私は./config/auth、/ config/auth、/ config、さまざまな組み合わせを呼び出そうとしましたが、config authファイルを読み込んでいるようには見えません。 私はここからコードを次のようにしています: ​​ 私はエクスプレスでbrowser-syncを追加したので、それは私の状況とは思えません。だから私はブラウザ同期がこれと何か関係があるかどうか分からないが、私はそれを追加すると思った。助けを前にありがとう。 フォルダ構造に関しては、すべての静的ファイルは/ distにあり、server.jsと同じレベルには、フォルダのアプリケーションとフォルダの設定があります。

答えて

0

passport.jsファイルのようですが、require('./config/auth');という名前のファイルは既にconfigフォルダにあります。したがって、ファイルパスが相対的なので、passport.jsの3行目では、var configAuth = require('./auth');である必要があります。

+0

OMG、私はそれを逃したと信じられない。ありがとう。 –

関連する問題