使用Express 4渲染原始HTML视图

时间:2014-12-11 09:59:29

标签: node.js express

我的目标是在我的Express应用程序中从Jade转回原始HTML,但我想确保我没有失去模板引擎的任何优势,所以我想要一个解决方案:

  • 将缓存HTML
  • 允许我指定相对于views目录的路径(就像Jade那样)而不向每个路径添加path.join(__dirname, "views")

这里最好的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

要解决这个问题,我正在使用来自快速响应对象的简单sendFile方法。 这是一个用例:

var express = require('express');
var router = express.Router();
var path = require('path');

var views = function (view) { 
    path.join(__dirname, '../views/', view);
};

router.get('/', function (req, res) {
    res.sendfile(views('index.html'));
});

请注意,您可以在另一个文件中编写views函数,导出并在所需的每个路由器中都需要它。

sendFile方法接受一个maxAge参数,您可以将其用于缓存目的。

你对模板引擎的开销是正确的。在我的测试中,我从服务器获得了120~150ms的响应时间,使用原始html而不是使用html导入的jade。