express中app.render和res.render方法有哪些具体的区别?

我看了官方的api文档,但还是有点不明白,希望大家能够给我通俗点的解释,谢谢^_^

文档里说的其实还好

Think of app.render as a utility function for generating rendered view strings. Internally res.render uses app.render to render views.

app.render当成一个生成视图的工具,而且res.render内部也是调用了app.render

区别是这样,app.render只负责生成视图,你会发现它是没能力把视图响应给客户端(浏览器)的,只有res.render手里有response对象,可以把视图响应给客户端。

res.render的伪代码可以看做如下:

res.render = functionview, locals, cb{ app.renderview, locals, functionerr, html{ iftypeof cb !== undefined{ return cberr, html; } res.sendhtml; };
};

发表评论

电子邮件地址不会被公开。 必填项已用*标注