Документы для app.render
:
Визуализируйте представление с обратным вызовом, отвечающим отображаемой строкой. Это вариант на уровне приложения
res.render()
, и в остальном он ведет себя так же.
Документы для res.render
:
Визуализируйте представление с обратным вызовом, отвечающим отображаемой строкой. При возникновении ошибки
next(err)
вызывается внутренне. Когда предоставляется обратный вызов, передаются и возможная ошибка, и отображаемая строка, и автоматический ответ не выполняется.
Как я могу определить, когда использовать какой?
app.render
тоже использует?используйте
app.render
в сценариях, где вам нужно визуализировать представление, но не отправлять его клиенту через http. На ум приходят электронные письма в формате html.источник
Наряду с этими двумя вариантами существует также
jade.renderFile
генерирующий HTML-код, который не нужно передавать клиенту.Применение-
var jade = require('jade'); exports.getJson = getJson; function getJson(req, res) { var html = jade.renderFile('views/test.jade', {some:'json'}); res.send({message: 'i sent json'}); }
getJson()
доступен как маршрут в app.js.источник