在HTML

时间:2015-12-27 19:41:22

标签: javascript html node.js

我在.html文件中有一个邮件模板。 这封邮件将由node.js服务器发送,因此我无法使用DOM。 模板加载如下:

fs.readFile('./ressources/template.html', function (err, html) {
if (err) {
    throw err; 
}   
var templateHTML = html ;

我正在寻找一种将各种变量传递给html的正确方法,作为客户名称/日期/订单ID。

你知道做正确的练习吗?

1 个答案:

答案 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>