节点hbsfy未使用Gulp编译模板
我只是试图通过Browserify和Gulp编译hbs模板,但一旦从我的hbs文件中遇到任何HTML标记,编译过程就会失败 我已经通过删除hbs文件中的HTML代码确认了这一点,此时Browserify将按预期运行 以下是我的吞咽任务的简化版本:节点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
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'))
});