th0*_*h0r 9 email server-side templating node.js meteor
我需要从MeteorJS应用程序发送电子邮件,我想使用html模板生成它们,而不是通过"html-in-js"的东西生成它们.
我试图做的事情:
1)使用Template.emailTemplate(data),但Template没有定义服务器端.
2)将我的电子邮件模板保存为*.html目录下的<app>/server/email/templates文件,使用它们获取内容fs.readSync(),然后使用meteor的内置handlebars包编译/渲染它.
这在开发环境中工作正常,但由于*.html目录下的文件server未捆绑,因此使用捆绑应用程序无法生产.此外,在捆绑过程中更改目录的结构,并且模板的相对路径变为无效.
3)你的提议?=)
cma*_*her 14
目前,服务器端不支持模板.这个功能即将到来.与此同时,我创建了一个名为handlebars-server的软件包,它允许您在服务器上使用Handlebars.您可以使用包含大气的包或将项目目录复制到packages文件夹中.这是一个例子:
例:
我-email.handlebars
Hello, {{name}}
Run Code Online (Sandbox Code Playgroud)
server.js
Email.send({
html: Handlebars.templates['my-email']({ name: 'Chris' })
});
Run Code Online (Sandbox Code Playgroud)
注意
手柄文件中没有模板.只需输入你的html和Handlebars表达式.该文件将被编译为函数并分配给Handlebars.templates对象上的属性.属性名称将是文件的名称减去车把扩展名.
Github上
https://github.com/eventedmind/meteor-handlebars-server
| 归档时间: |
|
| 查看次数: |
2252 次 |
| 最近记录: |