Можно ли передать сгенерированную строку помощнику в ручке
Я хотел сделать что-то вроде этого
<html lang="{{langcode}}">
<head>
{{#ifexists "some/path/helper-{{langcode}}.js"}}
<script src="some/path/helper-{{langcode}}.js"></script>
{{/ifexists}}
</head>
...
Я не мог придумать способ сделать Это. Я закончил с этим
Handlebars.registerHelper('ifexists', function(options) {
const filename = path.join(process.cwd(), replaceParams(options.hash.filename, options.hash));
const exists = fs.existsSync(filename);
if (exists) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
function replaceParams(str, params) {
const template = Handlebars.compile(str);
return template(params);
}
Итак, я закончил писать шаблон следующим образом
<html lang="{{langcode}}">
<head>
{{#ifexists filename="some/path/helper-{{langcode}}.js" langcode=langcode}}
<script src="some/path/helper-{{langcode}}.js"></script>
{{/ifexists}}
</head>
...
Он работает, но возможно ли сделать это верхним способом, когда я генерирую строку для передать помощника?