私はnode.jsを学ぼうとしています。 Facebook認証を使用してログインし、FacebookIDをMongodbに保存するための単純なnode.jsWebAPIとhtml-javascriptフロントエンドを作成しようとしています。
オンラインで利用できるチュートリアルに従うことでそれを行うことができました。
ここで、コードを複数のファイルに分離したいのですが、ルート「ユーザー」を作成し、エクスポートを介して関数を公開しようとすると。次のエラーが発生します。
_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
を使用してください