我在node.js中编写了该应用程序,该应用程序在MongoDB数据库中收集数据。即:
我需要使用pagename.mydomainname.com
创建静态HTML页面,并将变量(名称,link1,link2 ..)中的内容放入此HTML页面中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>My name is - name</p>
<p>My link 1 is - link1</p>
<p>My link 2 is - link2</p>
<p>My link 3 is - link3</p>
</body>
</html>
并将此HTML文件存储在服务器上的特殊文件夹中。如何使用Node.js?
答案 0 :(得分:1)
您需要一个模板库。最容易使用和最受欢迎的模板库之一就是把手。
https://www.npmjs.com/package/handlebars
使用车把定义一个模板,然后在该模板上抛出JSON,它吐出响应。
以下是npm页面上的示例:
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);
将渲染:
你好,我叫艾伦。我来自德克萨斯州的某个地方。我有2个孩子:
- 吉米12岁
- 莎莉4岁
车把文档很好。 http://handlebarsjs.com/
还有其他模板库,但这是第一。
nunjucks是另一个不错的选择。 https://www.npmjs.com/package/nunjucks
还有其他一些,只要有兴趣,就搜索车把的替代品。
使用这些模板库之一,您将使用fs.writeFile
将输出数据写入文件如果您想要一个更简单的文件,它可以从命令行运行并内置了文件生成功能,请尝试使用envsub。