Как создать общий массив в handlebars
Подскажите пожалуйста как использовать правильно общий объект helpers. Имеется код.
app.engine('hbs', hbs({
layoutsDir: 'handlebars/layouts',//чёт не работает. если встретит раньше index то отобразит его
defaultLayout: 'index',
extname: 'hbs',
helpers: {// глобальная ветка
link: ['Главная','Контакты','Информация','Доставка','Акции'],
}
}) )
app.set('views', './handlebars')//путь папки где лежат подключаемые шаблоны
app.set('view engine', 'hbs')
app.get('/', (req, res) => {
res.render('home', {
arr: [33, 45,655],
title: 'Главная',
header: 'просто текст',
helpers: {}//локальное поле
})
})
app.get('/lk(.html)?', (req, res) => {
console.dir(req.url);
res.render('lk', {
arr: [453,75,23],
title: 'Личный кабинет',
header: 'просто текст',
helpers: {}
})
})
Это мастер-страница(Layout)
<body>
{{{body}}}
{{>navigation}}
</body>
Это навигация 'частичное представление'
<div class="container">
<nav class="navigation">
{{#each helpers.link}}
<p>{{{link}}}</p> //тут я тупо проверяю зашёл ли я в цикл.
<a href="#">{{{this}}}</a>
{{/each}}
</nav>
</div>
Вообщем смысл такой: какой бы я запрос не получил, подключая разные представления, я должен отобразить навигацию на все страницах. Можно конечно под каждым запросом дублировать массив хоть вместо Arr или прям в helpers засосывать одно и то же. Я не нашёл подобного решения. устанавливал const hbs = require('express-handlebars'). Не совсем понял зачем используют просто hbs если есть express-handlebars.