我对大多数这些工具(grunt, browserify,把手)都很陌生。我设置gruntfile.js
来监视一些.js文件的保存,然后对它们自动运行默认的browserify bundle命令。这是我当前的gruntfile.js
:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('node_modules/grunt/package.json'),
watch: {
js: {
files: ['tvguide.js', 'responsive-tables.js'],
tasks: ['browserify']
}
},
browserify: {
js: {
src: ['responsive-tables.js','tvguide.js'],
dest: 'bundle.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-handlebars');
grunt.loadNpmTasks('grunt-browserify');
grunt.registerTask('default', ['watch', 'browserify']);
};
这工作得很好-虽然可能文件和src是多余的。然而,当我在充实我的应用程序时,我想使用手柄作为模板,许多谷歌搜索的浏览器与手柄使我找到了这个npm包。说明说,我只是运行browserify -t hbsfy myscriptusingatemplate.js > bundle.js
,我想有这个命令自动运行,当我保存特定的.js
文件,但我不确定如何使用-o
和-t
在相同或不同的文件。
我尝试使用一个选项对象,但没有任何结果。如有任何帮助或建议,不胜感激。
如果您想在Grunt中使用hbsfy,请使用以下配置:
browserify: {
js: {
src: ['responsive-tables.js','tvguide.js','tmpl/**/*.handlebars'],
dest: 'bundle.js'
},
options: {
transform: ['hbsfy']
}
}
这样,你根本不需要使用grunt-contrib-handlebars。
另外,我建议不要使用grunt-contrib-watch,而是将'watch'选项设置为true。