Я просто пытаюсь скомпилировать hbs-шаблоны с помощью Browserify и Gulp, но процесс компиляции завершается с ошибкой, как только любая HTML-разметка встречается из моего hbs-файла.node-hbsfy не компилирует шаблоны с помощью Gulp
Я подтвердил это, удалив код HTML в файле hbs, после чего Browserify работает как ожидалось.
Вот упрощенная версия моей Глоток задачи:
const _gulp = require('gulp');
const _browserify = require('browserify');
const _remapify = require('remapify');
const _hbsfy = require('hbsfy');
const _vinylSourceStream = require('vinyl-source-stream');
const _vinylBuffer = require('vinyl-buffer');
_gulp.task('js:dev',() => {
return _browserify({entries: './src/js/app.js', debug: true})
.plugin(_remapify, [
{
src: '**/*.hbs', // glob for the files to remap
cwd: './src/markup/components',
expose: 'components' // this will expose './src/markup/components' as 'components'
}
])
.transform(_hbsfy)
.bundle()
.pipe(_vinylSourceStream('app.js'))
.pipe(_vinylBuffer())
.pipe(_gulp.dest('dist'))
});
Шаблон HBS:
<div class="menu"> </div>
Основной JS файл:
(function(){
const _handlebars = require('hbsfy/runtime');
function init() {
_handlebars.registerPartial('menu', require('components/menu.hbs'));
}
document.addEventListener('DOMContentLoaded', init);
})();
Что может быть неправильно? Это похоже на то, что преобразование hbsfy не работает должным образом ...