Node.js语法错误“导出中出现意外的令牌”。
我一直在尝试学习node.js。我正在尝试创建一个简单的node.js网络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)
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)
回答如下:您在这里输入错字:
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