node.js - express中app.render和res.render方法有哪些具体的区别?
迷茫
迷茫 2017-04-17 13:21:56
0
1
647

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(1)
Peter_Zhu

文檔裡說的其實還好

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);
    });
};
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板