Search code examples
node.jsmeteoratmospheremeteorite

module is not defined error


I am using nodejs in my meteor app and I added packages using mrt add npm and then in my client directory in packages.json I added skimlinksjs and its version and it is added to my app.

When I tried to using them in my app in server side code like this,

var res;
var skim = Meteor.require('skimlinksjs');
var apili = Meteor.require('/config.js');
skim.setup(apili.key);
skim.query({
    searchFor: "title:\"moto g\"",
    fq: "country:US"
  }, function(err,data) {
    res=data.skimlinksProductAPI.numFound;
  }
);
return res;

and my config.js file is like this

module.exports = {
    key: "xxxxxxx"
}

whenI'm running this application it is showing error like

module not defined

What went wrong with my code or is there any need to install other packages?


Solution

  • I just got the answer

    Write this function in server side code

    function returnAllResult()
    {
        var skimlinks = Meteor.require('skimlinksjs');
        skimlinks.setup("xxx");
        var skimlinks_query = Async.wrap(skimlinks.query);
        var result = skimlinks_query({
            searchFor: "title:\"moto g\"",
            fq: "country:US",
            rows:5
        });
        return result;
    }
    

    to know about asynchronous functions watch this

    and then in my server side methods call this

     apiresult:function()
     {      
        var response = returnAllResult();
        return response.skimlinksProductAPI.products[0].merchant;
     }
    

    that's it working fine now. Hope this helps someone