我正在尝试将Express用于我的项目,推荐的视图方式是使用Jade模板引擎,如下所示:
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
但我不想重写现有的HTML文件,因此我使用sendfile
这样:
/* GET home page. */
router.get('/', function(req, res, next) {
res.sendfile("./views/hello.html");
});
它工作正常!
但我的问题是,如果我使用sendfile
替换render
,是否存在一些我未注意到的潜在问题?像性能或安全问题一样?
如果没有,那么为什么推荐的方法是使用Jade? p>
答案 0 :(得分:0)
直接发送HTML文件没有问题。直接发送HTML要快一点,因为在发送之前需要将玉文件编译成HTML。
如果您需要动态模板(如php,jsp ...)来生成动态页面,建议使用Jade。如果您的HTML仅适用于Ajax,则根本不需要jade。
答案 1 :(得分:0)
恕我直言,发送HTML并不使用模板引擎时,我认为没有问题。我认为他们只是建议使用模板引擎是因为开发人员更容易创建html结构的承载 plus 你可以使用模板引擎做更多事情(例如if语句,循环)。但请注意,您还应该为您的应用添加一些安全性,例如helmet
和cors
。