Как использовать dustjs-помощники с пылью?
Я использую grunt-dust
для компиляции шаблонов dustjs, но теперь я столкнулся с проблемой, что мне нужно использовать пылевые помощники (например, @eq
) который, по-видимому, хрюкает пыль полностью игнорирует.
Я установил dustjs-helpers
более npm, но просто не могу понять, как настроить мою грубую конфигурацию, чтобы справиться с ними. Я упростил это, чтобы сохранить соответствующие части.
grunt.initConfig( {
...
dust: {
defaults: {
files: {
'public/js/views.js': [ ... directories ... ]
},
options: {
wrapper: false,
basePath: 'private/',
useBaseName: true,
wrapperOptions: {
templatesNamesGenerator: function( options, file ) {
// returns an altered template name
}
}
}
}
},
...
} )
...
grunt.loadNpmTasks('grunt-dust')
...
grunt.registerTask( ... )
Пока что он работает нормально и компилирует шаблоны dustjs, как и ожидалось.
Как я могу включить dustjs-helpers
с grunt-dust
?
1 ответ
Вам не нужны помощники, доступные, когда grunt-dust формирует шаблоны. Компиляция - это процесс превращения шаблона в функцию Dust, и помощники фактически не будут вызываться.
Когда вам нужны пылесосы-помощники, они доступны во время рендеринга. Поэтому, как бы вы ни рендерили свои шаблоны, вам нужно убедиться, что помощники прикреплены к экземпляру пыли, который вы используете для рендеринга. Вы делаете это просто, требуя их:
let dust = require('dustjs-linkedin');
require('dustjs-helpers'); // helpers autoattach to the `dust` object
dust.render(template, context); // this template will be able to use helpers