在Express中使用`jade`模板引擎时渲染`html`

时间:2013-08-22 13:58:42

标签: node.js express

如何在将模板引擎保持为html的同时呈现jade文件?

app.set('view engine', 'jade');我将模板引擎设置为jade,我想做类似的事情

app.get('/world', function(req,res){
    res.render('profile.html', );

呈现html文件。

我正在使用express.js在node.js中编程。

注意:我已使用require

html var html=require('html');

编辑:

我理解res.render无需使用html已经呈现。 res.send(profile.html);错误为profile is undefined

3 个答案:

答案 0 :(得分:11)

您可以渲染玉文件(.jade)但不能渲染html文件,因为结果将是html。你在渲染html文件时是什么意思?

将您的res.render('profile.html')替换为res.sendfile('[path_to_the_file]profile.html')

答案 1 :(得分:0)

我认为您可以使用consolidatemustache模板引擎

npm install consolidate mustache

var engines = require('consolidate'); app.engine('html', engines.mustache); app.set('view engine', 'html');

答案 2 :(得分:-2)

如果你想测试.html文件,最简单的方法是临时更改引擎并添加整合模块和swig模块

npm install巩固

npm install swig

cons = require('consolidate'),

app.engine('html', cons.swig);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');

然后你可以简单地渲染:

app.get('/', function(req, res){
  res.render("index");
});