Я использую Express JS и пакет Handlebars, и на самом деле я сталкиваюсь с чем-то странным. Я не знаю, пропустил ли я что-то, надеюсь, но не могу понять, что не так в моем коде.
Я использую: https://github.com/ericf/express-handlebars
Я не могу заставить оператор {{#each}}
работать в моем коде.
Вот что у меня есть:
views.ts
const Views = {
config: {
// views template configuration
extname: '.hbs',
helpers: {
modulesList: () => {
return appModules.modulesList();
},
foo: () => { return 'FOO!'; },
bar: ['tic', 'tac', 'toe'],
// bar: () => { return ['tic', 'tac', 'toe'] },
}
},
}
// Views is exported
app.ts
const exphbs = require('express-handlebars');
const views = require('twiice/views.ts');
app.engine('.hbs', exphbs(views.config));
app.set('view engine', '.hbs');
app.set('views', './twiice/views');
home.hbs
<div class="col">
{{#each bar}}
<h6 class="text-light text-uppercase ls-1 mb-1">{{foo}}</h6>
{{/each}}
<h6 class="text-light text-uppercase ls-1 mb-1">Overview</h6>
<h5 class="h3 text-white mb-0">Sales value</h5>
<h6 class="text-light text-uppercase ls-1 mb-1">{{foo}}</h6>
</div>
На самом деле, foo
отображается на последнем h6 в коде html, что означает, что помощник загружен.
Но оператор each
ничего не отображает для bar
.
После do c: https://handlebarsjs.com/guide/builtin-helpers.html
Я не вижу ничего плохого: /
Большое спасибо за вашу помощь, я все еще учусь! :)
Полный код здесь: https://github.com/Brawcks/twiice-ts/