首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >句柄条hbs不是一个函数

句柄条hbs不是一个函数
EN

Stack Overflow用户
提问于 2017-08-19 08:46:59
回答 6查看 7.5K关注 0票数 1

我刚刚将我的布局文件夹设置为

代码语言:javascript
复制
app.engine('hbs', hbs({extname: 'hbs', defualtLayout : 'layout' , layoutDir: __dirname + '/views/layouts'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

模块使用是

代码语言:javascript
复制
var hbs = require('hbs');

这给了我以下的错误

app.engine(' hbs ',hbs({extname:'hbs',defualtLayout:'layout‘,layoutDir:__dirname +’/视图/布局‘});^ TypeError: hbs不是函数

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 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(‘查看引擎’,‘车把’);

票数 2
EN

Stack Overflow用户

发布于 2021-12-30 16:41:10

这对我有用。

确保安装此软件包: npm安装快车把手

代码语言:javascript
复制
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'
}))

票数 4
EN

Stack Overflow用户

发布于 2022-05-14 07:46:15

使用hbs.engine(),如下所示

代码语言:javascript
复制
app.engine('hbs', hbs.engine({
    extname: 'hbs',
    defaultLayout: 'layout',
    layoutDir: __dirname + '/views/layouts'
}));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45769556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档