将呈现的ejs视图作为html字符串返回到服务中?

时间:2015-11-20 19:34:22

标签: javascript node.js sails.js ejs

我的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>

1 个答案:

答案 0 :(得分:1)

我不确定你要解决的是什么,但是使用sails hook你可以启动视图引擎并使用数据渲染你的一个视图。

另见 How to render a view into a string in SailsJS?

sails.hooks.view.render()