如何将 node.js 变量传递/访问到 html 文件/模板
Posted
技术标签:
【中文标题】如何将 node.js 变量传递/访问到 html 文件/模板【英文标题】:How to pass/access node.js variable to an html file/template 【发布时间】:2021-05-25 10:59:30 【问题描述】:我是 Node.js 的新手,我正在尝试将变量从 Node.js 传递和访问到已加载的 html 文件/template,我该如何实现?
这里是示例代码:
test.html
<!DOCTYPE html>
<html>
<head>
<mate charest="utf-8" />
<title>Hello world!</title>
</head>
<body>
<h1>User List</h1>
<ul>
<li>Name: Name</li> <!-- how do I call the name variable here -->
<li>Age: Age</li> <!-- how do I call the age variable here -->
<br>
</ul>
</body>
</html>
myService.js
let fs = require('fs');
let path = require('path');
// How do I pass this variables to test.html
let age = 1;
let name = "this is name";
// Read HTML Template
let html = fs.readFileSync(path.resolve(__dirname, "../core/pdf/test.html"), 'utf8');
如何将 name 和 age 变量传递和访问到 test.html 模板,以便在读取文件时,值的变量已经在模板中生成。
【问题讨论】:
【参考方案1】:为此,您需要使用 express 和模板引擎。请参考模板引擎列表-https://expressjs.com/en/resources/template-engines.html
https://expressjs.com/en/starter/generator.html
【讨论】:
【参考方案2】:你可以使用这个库handlebars。 这个非常适合处理较大的模板。 如果你必须返回一个标签,你可以试试这个
return `<ul>
<li>Name: $name</li>
<li>Age: $age</li>
<br>
</ul>`
您也可以考虑将这个模板库用于 node.js npm-ejs
【讨论】:
嗨@Omkar,非常感谢。我使用ejs 让它工作。以上是关于如何将 node.js 变量传递/访问到 html 文件/模板的主要内容,如果未能解决你的问题,请参考以下文章
Node.js:如何将全局变量传递到通过 require() 插入的文件中?
Socket.io、Node.js:如何在 javascript.js 中将 javascript 变量传递给 mysql 查询?