带有 Express 和 Handlebars 的 NodeJs - handlebars.engine 未定义
NodeJs with Express and Handlebars - handlebars.engine is undefined
我正在学习 Ethan Brown 在 O'Reilly 的 "Web Development with Node & Express" 中的教程。
他们使用车把作为视图引擎。
这是我的代码:
var express = require ('express'),
handlebars = require('express3-handlebars'),
app = express();
handlebars.create({ defaultLayout: 'main' });
app.engine('handlebars', handlebars.engine);
我遇到的问题是 handlebars.engine 未定义,导致 运行 应用程序出现 "Callback function expected" 错误。
我试过在线搜索,但没有成功。
这是一些带有把手的旧语法吗?我的包已经安装好了,我已经尝试重新安装它们。
是否有 fix/updated 代码?
您必须从 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
。你应该考虑转换。
我正在学习 Ethan Brown 在 O'Reilly 的 "Web Development with Node & Express" 中的教程。
他们使用车把作为视图引擎。
这是我的代码:
var express = require ('express'),
handlebars = require('express3-handlebars'),
app = express();
handlebars.create({ defaultLayout: 'main' });
app.engine('handlebars', handlebars.engine);
我遇到的问题是 handlebars.engine 未定义,导致 运行 应用程序出现 "Callback function expected" 错误。
我试过在线搜索,但没有成功。
这是一些带有把手的旧语法吗?我的包已经安装好了,我已经尝试重新安装它们。
是否有 fix/updated 代码?
您必须从 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
。你应该考虑转换。