NodeJS和导出"没有方法.."

时间:2014-12-23 02:17:30

标签: javascript node.js replace

我正在为项目写一个api,并且用这个函数得到了一个罕见的错误

exports.getSummonerId = function(sum, callback) {

   var summoners = {};
   var summoner = sum.replace(/\s+/g, '');

   request("https://na.api.pvp.net/api/lol/"+region+"/v1.4/summoner/by-name/"+summoner+"?api_key="+api_key, function(error, response, body) {
         summoners[summoner] = JSON.parse(body);
         callback(summoners[summoner][summoner].id);
   });
}

电话是:

var lol = require('./apiwrapper.js');


lol.getSummonerId(function(data) {
   console.log(data);
});

我明白了:

lol-test/apiwrapper.js:11
   var summoner = sum.replace(/\s+/g, '');
                      ^
TypeError: Object function (data) {
   console.log(data);
} has no method 'replace'

如果我在没有导出的情况下运行代码,直接从apiwrapper.js运行正常。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

你的功能有2个参数,召唤者名称和回调函数。试试这个:

lol.getSummonerId("player", function(data) {
   console.log(data);
});