我的目标是在我的 Express 应用程序中从 Jade 迁移回原始 HTML,但我想确保我不会失去模板引擎的任何优势,因此我需要一个解决方案:
- 将缓存 HTML
- 允许我指定相对于views目录的路径(就像Jade那样),而无需向每个路由添加
path.join(__dirname, "views")
。
这里最好的解决方案是什么?
最佳答案
为了解决这个问题,我使用简单的 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
参数,您可以将其用于缓存目的。
您对模板引擎开销的看法是正确的。在我的测试中,我使用原始 html 而不是带有 html 导入的 jade,从服务器获得了 120~150 毫秒的更快响应时间。
关于node.js - 使用 Express 4 渲染原始 HTML View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419962/