gpt4 book ai didi

html - 如何从nodejs创建和存储html页面?

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:39 25 4
gpt4 key购买 nike

我用node.js编写了应用程序,它收集MongoDB数据库中的数据。即:

  • 姓名:约翰
  • 页面名称:我的页面
  • 链接:[链接1、链接2、链接3]

我需要使用 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 文件存储在服务器上的特殊文件夹中。如何使用 Nodejs 做到这一点?

最佳答案

您需要一个模板库。最容易使用和最流行的模板库之一称为handlebars。

https://www.npmjs.com/package/handlebars

使用 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);

Would render:

Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:

  • Jimmy is 12
  • Sally is 4

Handlebars 文档很好。 http://handlebarsjs.com/

还有其他模板库,但这是第一。

nunjucks 是另一个不错的。 https://www.npmjs.com/package/nunjucks

还有其他的,如果有兴趣,只需搜索 Handlebars 替代品即可。

使用这些模板库之一,您可以使用fs.writeFile将输出数据写入文件。

如果您想要一个从命令行运行并内置文件生成功能的更简单的程序,请尝试 envsub。

https://www.npmjs.com/package/envsub

关于html - 如何从nodejs创建和存储html页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52433288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com