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