2017-09-04 64 views
1

感谢您的关注。这是我得到的语法错误:意外的令牌语法错误我看不到

[0] /Users/alexkarasik/Documents/server/services/passport.js:26 
[0] async (accessToken, refreshToken, profile, done) => { 
[0]  ^
[0] SyntaxError: Unexpected token (

并且这是错误引用的文件。我一直在寻找的东西上下现在超过2小时,看不出有任何理由要得到这个错误:

const passport = require('passport'); 
const GoogleStrategy = require('passport-google-oauth20').Strategy; 
const mongoose = require('mongoose'); 
const keys = require('../config/keys'); 

const User = mongoose.model('users'); 

passport.serializeUser((user, done) => { 
    done(null, user.id); 
}); 

passport.deserializeUser((id, done) => { 
    User.findById(id) 
    .then(user => { 
     done(null, user); 
    }) 
}); 

passport.use(
    new GoogleStrategy({ 
    clientID: keys.googleClientID, 
    clientSecret: keys.googleClientSecret, 
    callbackURL: '/auth/google/callback', 
    proxy: true 
    }, 
async (accessToken, refreshToken, profile, done) => { 
    const existingUser = await User.findOne({ googleId: profile.id }); 

    if (existingUser){ 
      //we already have a record with the give profileId 
      return done(null, existingUser); 
    } 
      // we don't have a user record with this ID, make a new record 
     const user = await new User({ googleId: profile.id }).save(); 
     done(null, user); 
    } 
) 
); 

我真的很感激任何输入。

+2

您的服务器是否完全支持ESnext? (特别是异步等待..) –

+0

@Jonasw可能是正确的。你有一个webpack配置文件或babelrc设置? – sourRaspberri

+0

@sourRasperri webpack?这是什么与服务器端代码的待办事项?为什么要一个babel,如果你只是更新bodejs? –

回答

0

对于较新的ES6语法,节点只是未正确更新。更新它解决了这个问题。感谢您的帮助。