NodeJS 默认将传递的 html 内容转换为实体

NodeJS converts passed html content to entities by default

在我的网站中,我想要一个类别树。为了让它工作,我需要通过递归循环将它们排列在父子树中。我所做的是从数据库中获取类别数据,运行 循环并在 NodeJS 代码中生成输出 HTML 内容。然后我将生成的 HTML 字符串传递到我的 EJS 文档以在浏览器中显示。

现在问题来了:只要在 NodeJS 函数中,生成的字符串就是它应该的样子。但是传递的字符串中有一些字符转换成了身份,我找不到将它们转换回来的方法。例如:

<h1>Hello world</h1>

变成

&lt;h1&gt;Hello world&lt;/h1&gt;

在 ejs 文档中,但是当我尝试在某些 js 文件中使用 console.log 打印字符串时,它会打印正确的 HTML 字符串而不是转换后的字符串。

您应该使用 <%- 作为开始标记,因为它将未转义的值输出到页面中。

有关更多参考,请参阅 EJS 文档中的 'Tags' 部分

https://ejs.co/#docs