2013-04-25 10 views
0

Мой сценарий не удается при попытке загрузить шаблон, со следующей ошибкой:FATAL ERROR: Распределение JS не удалось

FATAL ERROR: JS Allocation failed - process out of memory exited with code 5 

Код, который я звоню выглядит так:

emailTemplates(templatesDir, function(err, template) { 
    winston.info("Setting up templates.", templatesDir); 
    if(err) { 
     winston.error(err); 
    }else{ 
     var today = new Date().getDay(); 
     winston.info("Found that today is ", aDays[today]); 

     template("notify", { 
      reports: [{ 
       item: "merged", 
       desc: "Blah blah" 
      },{ 
       item: "searched", 
       desc: "Blah blah" 
      }], 
      vars: Operators.BBT.mail, 
      day: aDays[today], 
      fusionAPIRan: canRunFAPI 
     }, function(err, html, text) { 
      if(err) { 
       winston.error(err); 
      }else{ 
       winston.info("Attempting to send an email!"); 
       smtpTransport.sendMail({ 
        from: "Webmaster <[email protected]>", 
        to: "[email protected]", 
        subject: "Worker - Notification Email", 
        html: html 
       }, function(error, response){ 
        if(error){ 
         winston.error(error); 
         cb(false); 
        }else{ 
         winston.info("Message sent: " + response.message + ", message id: " + response.messageId); 
         cb(true); 
        } 
       }); 
      } 
     }); 
    } 
}); 

Он доходит до Found that today is xxx, а winston.error внутри не вызывается. Что вызывает это? Возможно, изворотливый шаблон?

ответ

1

После большого поиска и отладки, мне удалось найти причину этой проблемы. Я использую node-email-templates, который использует EJS для обработки кода JavaScript в HTML-шаблоне, а затем отправляет его по электронной почте с помощью Nodemailer.

Проблема возникает в модуле EJS, особенно при попытке обрабатывать переменные в пределах комментариев.

<!-- The entire job took <%= time => to complete. --> 

Код внутри комментария <%= time %> вызывает сбой где-то вдоль линии. У меня есть reported this bug на странице проблем GitHub EJS. Я попытаюсь исправить это, когда я получу какое-то время на работе.

0

Я столкнулся с этой же ошибкой, но проблема в том, что html2text разрывалось один из моих переменных на две строки, как

<%= var 
%> 

После не исправляя это так, чтобы переменная была на одной линии, я не дольше получена ошибка распределения.