Gruntfile with grunt-contrib-watch, browserify和hbsfy(手柄)-自动转



我对大多数这些工具(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。

最新更新