2016-11-13 79 views
0

我试图确定什么是错我的模块的配置,它抛出以下错误:模块的NodeJS出口类型错误

[TypeError: transactionalEmails.request is not a function]`

它并不显得变量是如何被出口,但如何我我正在创建request函数。任何帮助我失去了什么或者我犯了什么错误?

事务-emails.js:

var transactionalEmails = function() { 

    var helper = require('sendgrid').mail; 

    request: function request(requester, receiver){ 

     var fromEmail = new helper.Email(requester); 
     var toEmail = new helper.Email(receiver); 

     var subject = requester + ' has requested a message.'; 
     var body = new helper.Content('text/plain', 'Hello Email'); 
     var email = new helper.Mail(fromEmail, subject, toEmail, body); 

     var sg = require('sendgrid')(process.env.EMAIL_API_KEY); 

     var request = sg.emptyRequest({ 
      method: 'POST', 
      path: '/v3/mail/send', 
      body: email.toJSON(), 
     }); 

     return console.log(fromEmail + " Sending a request to " + toEmail); 

     /*sg.API(request, function(error, response) { 
      console.log(response.statusCode); 
      console.log(response.body); 
      console.log(response.headers); 
     });*/ 
    } 
}; 
module.exports = transactionalEmails; 

这里是我正在调用该函数:

var transactionalEmails = require('./transactional-emails'); 

transactionalEmails.request(req.user.email, req.body.receiverEmail); 
+0

可能重复的[用node.js导出类](http://stackoverflow.com/questions/18020113/exporting-classes-with-node-js) –

回答

1

要导出要导出对象的功能。

var helper = require('sendgrid').mail; 

var transactionalEmails = { 
    request: function request(requester, receiver){ 
    ... 
    } 
}; 

module.exports = transactionalEmails;