我在.html
文件中有一个邮件模板。
这封邮件将由node.js服务器发送,因此我无法使用DOM。
模板加载如下:
fs.readFile('./ressources/template.html', function (err, html) {
if (err) {
throw err;
}
var templateHTML = html ;
我正在寻找一种将各种变量传递给html的正确方法,作为客户名称/日期/订单ID。
你知道做正确的练习吗?
答案 0 :(得分:3)
您需要一个模板引擎,例如Handlebars。
基本示例:
var Handlebars = require('handlebars');
var source = "<p>Hello, my name is {{name}}. I am from {{hometown}}. I have " +
"{{kids.length}} kids:</p>" +
"<ul>{{#kids}}<li>{{name}} is {{age}}</li>{{/kids}}</ul>";
var template = Handlebars.compile(source);
var data = { "name": "Alan", "hometown": "Somewhere, TX",
"kids": [{"name": "Jimmy", "age": "12"}, {"name": "Sally", "age": "4"}]};
var result = template(data);
渲染:
<p>Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:</p>
<ul>
<li>Jimmy is 12</li>
<li>Sally is 4</li>
</ul>