Express hbs不起作用

时间:2015-09-18 12:16:18

标签: node.js express template-engine

我知道这篇文章有点复杂, 但我无法找出我错在哪里。

///我的app.js //



var express = require('express'),
    app = express();


app.use(express.static('public'));
app.use(express.static('views'));
//
app.engine('html', require('hbs').__express);
app.set('views', 'views');
app.set('view engine', 'html');


app.get('/', function(req, res) {
    // res.sendFile(path.join(__dirname + '/index.html'));
    //res.sendFile('/index.html');
    res.render('index',{title :"page index"});

  });

app.listen(3000);



  这是我的./views/index.html



<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Index</title>
	
</head>
<body>
	<h1>{{title}}</h1>

</body>
</html>
&#13;
&#13;
&#13;

有任何帮助吗?谢谢!

2 个答案:

答案 0 :(得分:2)

您应该使用.hbs作为扩展名。

尝试将/views/index.html重命名为/views/index.hbs

并在代码中更改如下

app.set('view engine', 'hbs');

显然hbs想要使用.hbs。

提示:hbs hbs对我来说看起来不太好,你可以看看swig:http://paularmstrong.github.io/swig/docs

答案 1 :(得分:0)

尝试以下代码

  

app.set('view engine','html');
  app.engine('html',require('hbs').__ express);

而不是这个

  

app.engine('html',require('hbs').__ express);
  app.set('views','views');
  app.set('view engine','html');