"unexpected token"上的 Node.js 语法错误 "exports."

标签 node.js express fb-graph

我一直在努力学习 node.js。我正在尝试创建一个简单的 node.js web api 和一个 html-javascript 前端以使用 Facebook 身份验证登录并将 Facebook id 存储在 Mongodb 中。

我能够按照在线提供的教程做到这一点。

现在我想将代码分离到多个文件中,但是当我尝试创建路由“用户”并通过导出公开函数时。我收到以下错误。

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)

最佳答案

这里有错字:

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

关于 "unexpected token"上的 Node.js 语法错误 "exports.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298409/

相关文章:

node.js - Mongoose 模式对象中的时间格式

node.js - Node ffmpeg child_process 停止但仍然存在

node.js - 批量创建后 Sequelize 不会关闭

javascript - mongo/express 通过 id 获取用户获取对象 = null

ruby - "The ' 和 :type ' property is required, but not present." error

javascript - 使用 Meteor 从 FB-graph 中提取照片

javascript - socket.io 每秒发出一次

angularjs - angular-full stack 是如何像恶魔一样运行的?

node.js - layout.jade 不工作,为什么?