我有一个包含几个子文件夹的项目,其中包含我要连接的JavaScript文件.什么是正确的配置方式?
例如.
来源:/modules/$modulename/js/*.js(几个文件)dest:/modules/$modulename/js/compiled.js
所以我想要做的是将每个子文件夹的未知/未配置的子文件夹($ modulename)的js文件编译成一个文件.
这可能吗?
以下函数(在hereandnow78的指令之后构建)完成了这项工作:
grunt.registerTask('preparemodulejs', 'iterates over all module directories and compiles modules js files', function() {
// read all subdirectories from your modules folder
grunt.file.expand('./modules/*').forEach(function(dir){
// get the current concat config
var concat = grunt.config.get('concat') || {};
// set the config for this modulename-directory
concat[dir] = {
src: [dir + '/js/*.js', '!' + dir + '/js/compiled.js'],
dest: dir + '/js/compiled.js'
};
// save the new concat config
grunt.config.set('concat', concat);
});
});
Run Code Online (Sandbox Code Playgroud)
之后我将preparemodulejs放在我的默认配置中的concat作业之前.
我需要能够在Grunt中运行相同类型任务的多个任务(grunt-contrib-concat).我已经尝试了下面的几件事,但都没有工作.关于如何做到这一点的任何想法都表示赞赏.
concat: {
dist: {
src: [
'js/foo1/bar1.js',
'js/foo1/bar2.js'
],
dest: 'js/foo1.js',
src: [
'js/foo2/bar1.js',
'js/foo2/bar2.js'
],
dest: 'js/foo2.js'
}
}
Run Code Online (Sandbox Code Playgroud)
和..
concat: {
dist: {
src: [
'js/foo1/bar1.js',
'js/foo1/bar2.js'
],
dest: 'js/foo1.js'
}
},
concat: {
dist: {
src: [
'js/foo2/bar1.js',
'js/foo2/bar2.js'
],
dest: 'js/foo2.js'
}
}
Run Code Online (Sandbox Code Playgroud)
和..
concat: {
dist: {
src: [
'js/foo1/bar1.js',
'js/foo1/bar2.js'
],
dest: 'js/foo1.js'
},
dist: {
src: [
'js/foo2/bar1.js',
'js/foo2/bar2.js'
],
dest: 'js/foo2.js'
}
}
Run Code Online (Sandbox Code Playgroud)