使用Express 4呈现原始HTML视图

我打算从我的Express应用程序中的Jade移回到原始HTML,但是我想确保我没有失去任何模板引擎的优势,所以我想要一个解决scheme:

  • 将cachingHTML
  • 允许我指定一个相对于views目录的path(比如Jade),而不必为每个路由添加path.join(__dirname, "views")

这里最好的解决scheme是什么?

为了解决这个问题,我使用了快速响应对象的简单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')); }); 

请注意,您可以将viewsfunction写入另一个文件,导出并在每个需要的路由器中进行导入。

sendFile方法接受可用于caching目的的maxAge参数。

你是对的模板引擎开销。 在我的testing中,我从服务器得到了120〜150ms的更快的响应时间,使用原始的html代替了用html导入的jade。