Gruntjs 动态运行concat任务,并动态创建目标文件

Gruntjs 动态运行concat任务,并动态创建目标文件,gruntjs,grunt-contrib-concat,Gruntjs,Grunt Contrib Concat,我正在我的一个项目上运行一个grunt-concat任务,它看起来像这样: /** * Concatenate | Dependencies Scripts */ concat: { dependencies: { files: { "./Ditcoop/js/plugins.min.js": ["./Ditcoop/js/vendor/**/*.min.js", "!./Ditcoop/js/vendor/modernizr

我正在我的一个项目上运行一个
grunt-concat
任务,它看起来像这样:

/**
 * Concatenate | Dependencies Scripts
 */

concat: {
    dependencies: {
        files: {        
            "./Ditcoop/js/plugins.min.js": ["./Ditcoop/js/vendor/**/*.min.js", "!./Ditcoop/js/vendor/modernizr/*.js", "!./Ditcoop/js/vendor/jquery/*.js"],
            "./Global/js/plugins.min.js": ["./Global/js/vendor/**/*.min.js", "!./Global/js/vendor/modernizr/*.js", "!./Global/js/vendor/jquery/*.js"],
            "./Webshop/js/plugins.min.js": ["./Webshop/js/vendor/**/*.min.js", "!./Webshop/js/vendor/modernizr/*.js", "!./Webshop/js/vendor/jquery/*.js"]
        }
    }
}
    concat: {
    dependencies: {
        files: {        
            "./*/js/plugins.min.js": ["./*/js/vendor/**/*.min.js", "!./*/js/vendor/modernizr/*.js", "!./*/js/vendor/jquery/*.js"],
        }
    }
}
我的问题是,我是否可以在不必指定每个根文件夹的情况下,以某种方式使其更具动态性。我在想这样的事情:

/**
 * Concatenate | Dependencies Scripts
 */

concat: {
    dependencies: {
        files: {        
            "./Ditcoop/js/plugins.min.js": ["./Ditcoop/js/vendor/**/*.min.js", "!./Ditcoop/js/vendor/modernizr/*.js", "!./Ditcoop/js/vendor/jquery/*.js"],
            "./Global/js/plugins.min.js": ["./Global/js/vendor/**/*.min.js", "!./Global/js/vendor/modernizr/*.js", "!./Global/js/vendor/jquery/*.js"],
            "./Webshop/js/plugins.min.js": ["./Webshop/js/vendor/**/*.min.js", "!./Webshop/js/vendor/modernizr/*.js", "!./Webshop/js/vendor/jquery/*.js"]
        }
    }
}
    concat: {
    dependencies: {
        files: {        
            "./*/js/plugins.min.js": ["./*/js/vendor/**/*.min.js", "!./*/js/vendor/modernizr/*.js", "!./*/js/vendor/jquery/*.js"],
        }
    }
}

我很确定我不能这样做,但我可以使用
扩展
选项,我只是不确定如何使用它,以便我可以在右根文件夹下这样做,所以我不会像运行concat一样多次创建相同的目标文件。

始终记住Gruntfiles是javascript:)


<>但是如果您的依赖关系处理逻辑是复杂的,您可能需要考虑使用模块加载程序,例如BurSeriType或Realjs。concat任务实际上只是将简单文件连接在一起。

这就是我所需要做的,在concat之前,我以相同的方式运行一个丑陋的任务,之后,我需要将所有这些文件组合成一个文件。