gpt4 book ai didi

javascript - 如何设置 Handlebars 布局目录?

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:49 25 4
gpt4 key购买 nike

这是我使用 Handlebars 的 nodejs express 设置 View 和目录:

- server.js
- routes
|-- index.js
-config
|-- config.js
- client
|-- public
| | -- js
| | -- css
| | -- font
|-- views
|-- index.html
|-- layout
|-- layout.handlebars
| ... other directories

这是我的 node.js 代码:

// Set static folder
app.use(express.static(path.join(__dirname, '/client/public')));
// Views and view engine
app.set('views', path.join(__dirname, '/client/views'));
app.set('view engine', 'ejs');
app.engine('html', handlebars({ defaultLayout: 'layout' }));

Handlebars 无法找到我的布局。它查看的是 app/views/layouts/layout.handlebars,但它应该查看 app/client/views/layouts/layout.handlebars

我在这里缺少什么?

最佳答案

似乎您正在使用 express-handlebars

您需要在创建它的实例时指向目录。

const hbs = exphbs.create({
extname :'hbs',
layoutsDir : 'path/to/layout/directory',
defaultLayout: 'main',
helpers : 'path/to/helpers/directory',
partialsDir : [
'path/to/partials/directory'
]
});

如果您不使用自定义文件夹位置启动它,它会在默认位置查找文件。

此外, View 引擎需要设置为hbs.engine而不是ejs

app.engine('hbs', hbs.engine);
app.set('view engine', 'hbs');

关于javascript - 如何设置 Handlebars 布局目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41252105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com