我正在关注O'Reilly的“使用Node& Express进行Web开发”的教程。
他们使用把手作为视图引擎。
这是我的代码:
var express = require ('express'),
handlebars = require('express3-handlebars'),
app = express();
handlebars.create({ defaultLayout: 'main' });
app.engine('handlebars', handlebars.engine);
我遇到的问题是handlebars.engine未定义,导致运行应用程序时出现“预期的回调函数”错误。
我试过没有运气在网上搜索。
这是一些带把手的遗留语法吗?我的软件包安装正常,我尝试重新安装它们。
是否有针对此的修复/更新代码?
答案 0 :(得分:1)
你必须从create()
- 调用的对象中获取引擎!
像这样:
var expHbs = require('express-handlebars');
var handlebars = expHbs.create({
defaultLayout: 'layout',
extname: '.hbs',
helpers: handlebarsHelpers
});
app.engine('.hbs', handlebars.engine);
app.set('view engine', '.hbs');
只是说:express3-handlebars
已重命名为express-handlebars
。你应该考虑转换。