使用html和纯文本模板来表示模板引擎?

我正在寻找一种方法来从ExpressJS应用程序(取决于“接受”头)响应纯文本和HTML(和JSON)。 在所有情况下,我需要一些方法来在实际输出之前通过模板引擎传递输出。 所以我正在寻找一个支持的模板引擎。

到目前为止,我正在使用像Swig这样的解决方法:

var app = express(); var swig = require('swig'); app.use(function (req, res, next) { if (req.accepts('text/html')) { app.engine('html', swig.renderFile); app.set('view engine', 'html'); app.set('views', path.join(__dirname, 'views/html')); } else { app.engine('txt', swig.renderFile); app.set('view engine', 'txt'); res.set('Content-Type', 'text/plain'); app.set('views', path.join(__dirname, 'views/text')); } next(); }); 

但是,我认为有一个更好的/原生的方式来做到这一点,已经实现了某个地方?

干杯