2016-11-09 50 views
1

我試圖在電子郵件模板中使用partials。我使用「表達車把」作爲模板引擎的應用級無法在句柄中使用partials電子郵件模板

exphbs = require('express-handlebars') 
var viewsPath = path.join(__dirname, '/app/views'); 
app.set('views', viewsPath); 
var hbs = exphbs.create({ 
    defaultLayout: 'main', 
    layoutsDir: viewsPath + '/layouts', 
    partialsDir: viewsPath + '/partials' 
}); 
app.engine('handlebars', hbs.engine); 
app.set('view engine', 'handlebars'); 

而且我有發送電子郵件,如下一個幫手:

var templateDir = path.join(__dirname, '../views/email_templates'); 
var EmailTemplate = require('email-templates').EmailTemplate; 

function sendEmail(options,done){ 
     var template = new EmailTemplate(templateDir + "/" + options.template); 
     template.render(options, function(err, result){ 
     var message = { 
      'to' : [options.toEmail], 
      'from_email' : '[email protected]', 
      'from_name' : 'XYZ', 
      'headers' : { 
      "Reply-To" : '[email protected]' 
      }, 
      'subject' : options.subject, 
      'html' : result.html 
     }; 

      var to_address = message.to[0].email; 
      ses_client.sendEmail({ 
      'from' : message.from_email, 
      'replyTo' : message.from_email, 
      'subject' : message.subject, 
      'to' : to_address, 
      'message' : message.html 
      },function (err, data,res){ 
       if(err) logger.log('error', 'Error in sending email' + err); 
       return done(); 
      }); 
     }); 
} 

當我包括我的html.handlebars部分模板爲{{myPartial}},出現以下錯誤:部分myPartial找不到

我已驗證部分文件與上述 「partialsDir:viewsPath +'/偏分量「

我怎樣才能得到我的部分在電子郵件模板內呈現?

我嘗試過使用https://stackoverflow.com/a/12700409/6165688,但仍然得到了部分未找到的相同錯誤。

回答