我看了官方的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
區別是這樣,app.render只負責生成視圖,你會發現它是沒能力把視圖響應給客戶端(瀏覽器)的,只有res.render手裡有response對象,可以把視圖響應給客戶端。
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
的偽代碼可以看做如下: