文档里说的其实还好 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 = function(view, locals, cb){ app.render(view, locals, function(err, html){ if(typeof cb !== 'undefined'){ return cb(err, html); } res.send(html); }); };
文档里说的其实还好
把
app.render
当成一个生成视图的工具,而且res.render
内部也是调用了app.render
。区别是这样,
app.render
只负责生成视图,你会发现它是没能力把视图响应给客户端(浏览器)的,只有res.render
手里有response
对象,可以把视图响应给客户端。res.render
的伪代码可以看做如下: