2013-01-12 39 views
5

我一直在努力學習node.js.我正在嘗試創建一個簡單的node.js web api和一個html-javascript前端,以使用Facebook身份驗證登錄並在Mongodb中存儲Facebook標識。「出口」上的Node.js語法錯誤「意外令牌」。

我可以通過以下在線教程來完成它。

現在我想將代碼分隔成多個文件,但是當我嘗試創建一個路由「用戶」並通過導出公開函數時。我收到以下錯誤。

module.exports.userLogin = function(req,res){ 
    ^SyntaxError: Unexpected token . 
    at Module._compile (module.js:437:25) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at Object.<anonymous> (C:\Users\Saumya\Desktop\vhsharedraft\web.js:2:6) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 

在此先感謝。

EDIT#1

module.exports.userLogin = function(req,res){ 
    graph.setAccessToken(req.session.fb.access_token); 

    graph.get("/me", function(err, data) { 
     if(err){ 
      console.log('Error obtaining data.'); 
      return; 
     } 
     console.log(data); 
    } 

} 

EDIT#2

var mongo = require('mongodb'), 
graph = require('fbgraph'); 



exports.userLogin = function(req,res){ 
    graph.setAccessToken(req.session.fb.access_token); 

    graph.get("/me", function(err, data) { 
     if(err){ 
      console.log('Error obtaining data.'); 
      return; 
     } 
     console.log(data); 
    } 
} 

這是我的所有用戶的路線。 其實,我犯了一個真正愚蠢的錯誤,我在graph = require('fbgraph')前留下了一個逗號,而不是分號。 修復此語法錯誤後,我收到此錯誤。

} 
^ 
SyntaxError: Unexpected token } 
    at Module._compile (module.js:437:25) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at Object.<anonymous> (C:\Users\Saumya\Desktop\vhsharedraft\web.js:2:6) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 

感謝您的及時回覆。

+0

通常你只需要做'exports.funcName =功能( ){}',所以我會從那裏開始。如果我能看到其餘的代碼,那麼它可能會更有幫助。 –

+0

如果您指的是「module.exports」而不是「exports」。我也試過後者,同樣的錯誤。 –

+0

這可能是一個非常愚蠢的錯誤,因爲我是一個新手。 我們是否需要「要求」某些東西來使用「出口」? –

回答

11

您在這裏有一個錯字:

graph.get("/me", function(err, data) { 
    if(err){ 
     console.log('Error obtaining data.'); 
     return; 
    } 
    console.log(data); 
} 

它應該是:

graph.get("/me", function(err, data) { 
    if(err){ 
     console.log('Error obtaining data.'); 
     return; 
    } 
    console.log(data); 
}); /* Note the added parenthesis here */ 

還利用exports.userLogin代替module.exports.userLogin

+3

你能否明確顯示不同的部分?還是讓它大膽?通過linek尋找兩個例子中不同的部分是非常困難的 –