Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML中初始化变量的正确方法_Javascript_Html_Node.js - Fatal编程技术网

Javascript 在HTML中初始化变量的正确方法

Javascript 在HTML中初始化变量的正确方法,javascript,html,node.js,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 您知道如何正确操作吗?您需要一个模板引擎,如

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

fs.readFile('./ressources/template.html', function (err, html) {
if (err) {
    throw err; 
}   
var templateHTML = html ;
我正在寻找一种合适的方法来将各种变量传递给html,例如客户名称/日期/订单id


您知道如何正确操作吗?

您需要一个模板引擎,如

基本示例:

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);
var handlebar=require('handlebar');
var source=“你好,我的名字是{{name}。我来自{{家乡}。我有”+
“{{kids.length}}孩子:

”+ “
    {{{kids}}
  • {{name}}是{{age}
  • {{/kids}
”; var template=handlebar.compile(源代码); 变量数据={“名称”:“艾伦”,“家乡”:“德克萨斯州某地”, “孩子们”:[{“姓名”:“吉米”,“年龄”:“12”},{“姓名”:“萨利”,“年龄”:“4”}]}; var结果=模板(数据);
将导致:

<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> 
你好,我叫艾伦。我来自德克萨斯州的某个地方。我有两个孩子:

  • 吉米12岁
  • 萨莉4岁

well似乎几乎解决了我的问题,谢谢。请注意,Handlebar需要一个字符串,而整个原始html文件将不起作用,因为它不被视为字符串。也许您可以将模板文件的内容读入字符串并将其传递给Handlebar?是的,或者只需要将我的html放在两个引号之间。这不是一个问题,我只是想让读者们知道这一点。