我刚刚将我的布局文件夹设置为
app.engine('hbs', hbs({extname: 'hbs', defualtLayout : 'layout' , layoutDir: __dirname + '/views/layouts'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');模块使用是
var hbs = require('hbs');这给了我以下的错误
app.engine(' hbs ',hbs({extname:'hbs',defualtLayout:'layout‘,layoutDir:__dirname +’/视图/布局‘});^ TypeError: hbs不是函数
发布于 2017-08-19 09:00:13
因为hbs模块导出的东西实际上不是一个函数。
您应该阅读hbs模块的描述文件,它已经告诉您如何使用它。
使用hbs作为默认视图引擎只需要在应用程序设置中使用一行代码。这将在调用.hbs文件时呈现res.render文件。 App.set(“查看引擎”,“hbs”); 要对模板文件使用不同的扩展名(即html): App.set(‘查看引擎’,'html');app.engine('html',要求(‘hbs’).__express);
另一种方法是使用express-handlebars模块,它可以在您的途中使用。
App.engine(‘车把’,exphbs({defaultLayout:‘main’});app.set(‘查看引擎’,‘车把’);
发布于 2021-12-30 16:41:10
这对我有用。
确保安装此软件包: npm安装快车把手
var hbs = require('express-handlebars');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.engine('hbs', hbs.engine({
extname: 'hbs',
defaultLayout: 'layout',
layoutsDir: __dirname + '/views/layout/',
partialsDir: __dirname + '/views/partials'
}))
发布于 2022-05-14 07:46:15
使用hbs.engine(),如下所示
app.engine('hbs', hbs.engine({
extname: 'hbs',
defaultLayout: 'layout',
layoutDir: __dirname + '/views/layouts'
}));https://stackoverflow.com/questions/45769556
复制相似问题