Экспресс хбс не работает
Я знаю, что этот пост - своего рода дубликат, но я не могу понять, где я ошибаюсь.
/// my 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);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<body>
<h1>{{title}}</h1>
</body>
</html>
Любая помощь? Спасибо!
2 ответа
Решение
Вы должны использовать.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');