2013-01-12 2 views
5

나는 node.js를 배우려고 노력해 왔습니다. 나는 간단한 node.js 웹 api와 html-javascript 프론트 엔드를 만들고 Facebook 인증을 사용하여 로그인하고 Mongodb에 Facebook ID를 저장하려고합니다.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) 

미리 감사드립니다.

편집 # 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); 
    } 

} 

편집 # 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

module.exports.userLogin의 사용) {}', 그래서 나는 거기에서 시작할 것입니다. 만약 내가 실패한 곳에서 나머지 코드를 볼 수 있다면 아마도 도움이 될 것입니다. –

+0

"내보내기"대신 "module.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.funcName = 기능을 할 필요가 exports.userLogin 대신 보통

+3

다른 부분을 명시 적으로 보여줄 수 있습니까? 아니면 과감하게 만드시겠습니까? 두 가지 예에서 다른 부분을 찾기 위해 linek를 통해 읽는 것은 매우 어렵습니다. –

관련 문제