Express hbs 不起作用

Express hbs does not work

我知道这个 post 有点重复, 但是我找不到我哪里错了。

/// 我的 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>

有什么帮助吗?谢谢!

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

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

在代码中修改如下

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

显然 hbs 希望使用 .hbs。

提示:hbs hbs我觉得不太好,你可以看看swig:http://paularmstrong.github.io/swig/docs

试试下面的代码

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');