我的sails应用程序中有一项服务,通过电子邮件向用户发送激活表单。我使用emailjs发送电子邮件,但我必须手动插入凌乱的html字符串。
我对风帆比较陌生,很难找到如何将一些变量粘贴到ejs模板并返回html字符串的文档。我不确定这是否是帆中的全局服务(如异步)或者我需要添加一个笨拙的任务。
更具体地说,这就是我需要做的事情:
视图/ emailTemplate.ejs
<html>
<h1>Hello, <%- user %></h1>
</html>
服务/ generateEmailService.js
module.exports = function() {
var email = require("emailjs");
ejs('views/emailTemplate.ejs', {user: "Bob"}, function(html) {
email.send({to: "me@site.com", from: "you@site.com", html: html});
});
};
在您的电子邮件来源中......
<html>
<h1>Hello, Bob</h1>
</html>
答案 0 :(得分:1)
我不确定你要解决的是什么,但是使用sails hook你可以启动视图引擎并使用数据渲染你的一个视图。
另见 How to render a view into a string in SailsJS?
sails.hooks.view.render()