无法使用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');