2016-11-13 81 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;