[英]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.