在 Node 中渲染 HTML 字符串?

Render HTML string in Node?

好的,所以我已经下载了 Express,将端口设置为 process.env.PORT || 8080,并将应用程序变量设置为 var app = express()。现在,我想要完成的不是通过文件呈现 HTML,我可以通过字符串来呈现吗?

var html = "<!DOCTYPE html>\n<html>\n    <head>\n    </head>\n <body>\n      <h1>Hello World!</h1>\n   </body>\n</html>";
app.get('/',function(req,res){
   res.render(html);
});

有没有办法做到这一点?

文档中指定的res.render方法:渲染视图并将渲染的HTML字符串发送给客户端。所以你需要使用一个模板引擎,例如:jade,ejs, handlebars.. 但如果你的目的是只输出一些 html 你可以用 res.send 代替。

您可以使用字符串来完成,但您应该将调用转换为 Javascript 调用,这样网页上只会显示需要替换的部分。 Ajax 调用从控制器 a : res.send("This is a String) 返回到其客户端。在客户端,您可以将此 result 放在元素 innerHtml 中,然后您将拥有某种 SPA :-)

使用res.setHeader设置HTTP Response Header

  res.setHeader("Content-Type", "text/html")
  res.send(`
  <h1>Mock API</h1>
  `)