节点hbsfy未使用Gulp编译模板

节点hbsfy未使用Gulp编译模板,gulp,handlebars.js,Gulp,Handlebars.js,我只是试图通过Browserify和Gulp编译hbs模板,但一旦从我的hbs文件中遇到任何HTML标记,编译过程就会失败 我已经通过删除hbs文件中的HTML代码确认了这一点,此时Browserify将按预期运行 以下是我的吞咽任务的简化版本: const_gulp=require('gulp'); const_browserify=require('browserify'); const_remapify=require('remapify'); const_hbsfy=require('h

我只是试图通过Browserify和Gulp编译hbs模板,但一旦从我的hbs文件中遇到任何HTML标记,编译过程就会失败

我已经通过删除hbs文件中的HTML代码确认了这一点,此时Browserify将按预期运行

以下是我的吞咽任务的简化版本:

const_gulp=require('gulp');
const_browserify=require('browserify');
const_remapify=require('remapify');
const_hbsfy=require('hbsfy');
const_vinylSourceStream=require(‘乙烯基源流’);
常量乙烯基缓冲液=需要(‘乙烯基缓冲液’);
_gulp.task('js:dev',()=>{
返回_browserify({entries:'./src/js/app.js',debug:true})
.plugin(_remapify[
{
src:'***.hbs',//glob用于重新映射文件
cwd:“./src/markup/components”,
expose:'components'//这将把'/src/markup/components'公开为'components'
}
])
.transform(_hbsfy)
.bundle()
.pipe(_vinylSourceStream('app.js'))
.管道(_乙烯缓冲液())
.pipe(_gulp.dest('dist'))
});
hbs模板:


主JS文件:

(函数(){
const_handlebar=require('hbsfy/runtime');
函数init(){
_把手。注册表部分('menu',require('components/menu.hbs');
}
document.addEventListener('DOMContentLoaded',init);
})();

出了什么问题?好像hbsfy转换没有正常运行…

似乎这个问题实际上是由插件引起的。编译工作与预期一样,而是使用

这是我更新的Gulp文件:

const _gulp = require('gulp');
const _browserify = require('browserify');
const _pathmodify = require('pathmodify');
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(_pathmodify, {
      mods: [
        _pathmodify.mod.dir('components', process.cwd() + '/src/markup/partials/components')
      ]
    })
    .transform(_hbsfy)
    .bundle()
    .pipe(_vinylSourceStream('app.js'))
    .pipe(_vinylBuffer())
    .pipe(_gulp.dest('dist'))
});