Javascript 使用Grunt编译把手模板

Javascript 使用Grunt编译把手模板,javascript,gruntjs,handlebars.js,Javascript,Gruntjs,Handlebars.js,我正试图使用Grunt编译我的把手模板,如下所述。没关系,但它将所有hbs文件编译成一个文件,这不是很好。我想为Menu1和Menu2目录提供一个单独的文件。如果我能为每个目录做一个单独的任务,那就太好了。 但由于我仍在学习这些东西,我找不到更好的方法使其发挥作用。 或者,如果我能让手柄分别编译每个文件 项目结构: /js/: ->/app/ app_init.js ->/templates/ -> /Menu1/

我正试图使用Grunt编译我的把手模板,如下所述。没关系,但它将所有hbs文件编译成一个文件,这不是很好。我想为Menu1和Menu2目录提供一个单独的文件。如果我能为每个目录做一个单独的任务,那就太好了。 但由于我仍在学习这些东西,我找不到更好的方法使其发挥作用。
或者,如果我能让手柄分别编译每个文件

项目结构:

    /js/:
     ->/app/
        app_init.js
     ->/templates/
       -> /Menu1/
           template1.hbs
           template2.hbs
       -> /Menu2/
           template1.hbs
           template2.hbs
grunfile.js

module.exports = function(grunt) {

    var TEMPLATES_LOCATION        = "./js/templates/",
        TEMPLATES_EXTENSION       = ".hbs",
        TEMPLATES_OUTPUT_LOCATION = TEMPLATES_LOCATION,    
        TEMPLATES_OUTPUT_FILENAME = "compiled_templates.js";  

    grunt.initConfig({
        watch: {
            handlebars: {
                files: [TEMPLATES_LOCATION + '**/*' + TEMPLATES_EXTENSION],
                tasks: ['handlebars:compile']
            }
        },
        handlebars: {
            compile: {
                src: TEMPLATES_LOCATION + '**/*' + TEMPLATES_EXTENSION,
                dest: TEMPLATES_OUTPUT_LOCATION + TEMPLATES_OUTPUT_FILENAME,
                options: {
                    amd: true,
                    namespace: "templates"
                }
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-handlebars');
    grunt.loadNpmTasks('grunt-contrib-watch');
}

有人能给我建议吗

我刚刚想出了一个小小的解决办法。不确定这是否是最好的方法,但它有效

把手:{
编译菜单1:{
src:TEMPLATES_LOCATION+'/Menu1/*'+TEMPLATES_扩展,
dest:TEMPLATES\u OUTPUT\u LOCATION+“菜单1”+TEMPLATES\u OUTPUT\u EXTENSION,
选项:{
是的,
命名空间:“M1_模板”
}
},
编译菜单2:{
src:TEMPLATES_LOCATION+'/Menu2/*'+TEMPLATES_扩展,
dest:TEMPLATES\u OUTPUT\u LOCATION+“Menu2”+TEMPLATES\u OUTPUT\u EXTENSION,
选项:{
是的,
命名空间:“M2_模板”
}
}
}