无法使用Express Handlebars在目录中查看视图
我正在遵循从Express Generator获取的基本应用布局,并尝试将其configuration为Handlebars。
片段:
var exphbs = require('express-handlebars'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views/')); app.engine('handlebars', exphbs({defaultLayout: 'main'})); app.set('view engine', 'handlebars');
一切都很好,直到我尝试将Handlebars的扩展名更改为.hbs
,如下所示:
app.engine('handlebars', exphbs({defaultLayout: 'main', extname: '.hbs'}));
(并且当然重命名文件)。
这导致:
错误:无法在视图目录中查找视图“错误”
我已经在Express-handlebars.js源代码中查看function ExpressHandlebars(config)
,它确实试图设置extname适当。
我究竟做错了什么?
有点反直觉,设置扩展名是不够的。
所需的设置是:
app.engine('hbs', exphbs({defaultLayout: 'main', extname: '.hbs'})); app.set('view engine', 'hbs');