繁体   English   中英

如何将翡翠页面转换成html?

[英]How to turn a jade page into html?

我有一个翡翠文件,名为syntax.jade。 我需要的是一种将syntax.jade以及通常会通过res.render语句传递给它的信息一起转换为node中的html文档的方法,以便我可以以这种形式对其进行操作。 基本上我想要的是:

当我使用

res.render('syntax', {comment: comment}, function(err, html)) 

html包含页面的html作为字符串。 我需要另一种方式来获取不需要在浏览器中呈现页面的代码。

我想要这样做的原因是,我可以将结果HTML代码包含在另一个res.render语句中,以便提供格式设置,而不是在前端进行所有格式设置。

您只需将Jade作为Node模块并使用renderFile()方法即可。

var jade = require('jade');

jade.renderFile('syntax.jade', {comment: comment}), function (err, html) {
  if (err) throw err;
  // rendered string is in html variable
});

如果没有错误,则结果是呈现的HTML字符串。 如果要同步执行此操作,则只需不指定回调:

var html = jade.renderFile('filename.jade', {comment: comment});

那已经是你所拥有的。 来自res.render上的快速文档

提供回调时,可能的错误和呈现的字符串都将传递,并且不会执行自动响应。

因此res.render(viewName, locals)会同时渲染HTML并将该HTML作为HTTP响应正文发送。 但是带有3个参数的res.render(viewName, locals, callback)仅呈现HTML并将其传递给回调,而无需发送任何HTTP响应。 因此,您可以使用HTML进行所需的任何操作,然后稍后发送响应。

还有app.render ,这是另一个通用的实用程序,可用于渲染内容而与特定的http请求/响应无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM