我有这个文件结构:
根
Folder1中
FOLDER2
我试图完成以下gulp任务,该任务将采用根目录,在本例中为Root文件夹,并生成以下结构:
根
Folder1中
FOLDER2
如您所见,直接位于第二级的文件,例如Subfolder1.1只是缩小了。所有超过两个级别的文件将被连接并以包含它们的第二级文件夹命名。
这是否有可能在gulp中实现,如果是的话,有人能给我一个如何做的线索吗?
答案 0 :(得分:0)
也许这可以帮助你run some tasks by folder。 或许你可以在building such a thing yourself by iterating over directories找到一些帮助。
答案 1 :(得分:0)
好的,我能够做到,这是代码:
gulp.task('task',
function() {
// The input root dir
var root = 'root_in';
// The output root dir
var rootOut = 'root_out'
// first get all the folders in the in the root directory
var folders = fs.readdirSync(root)
.filter(function(file) {
return fs.statSync(path.join(root, file)).isDirectory();
});
return folders.map(function(folder) {
// get the files inside each folder
var files = fs.readdirSync(path.join(root, folder));
files.map(function(file) {
// in case it is a directory, concat all the files
if (fs.statSync(path.join(root, folder, file)).isDirectory()) {
return gulp.src(path.join(root, folder, file, '/**/*.js'))
.pipe(uglify())
.pipe(gulp_concat(file + '.js'))
.pipe(gulp.dest(path.join(root, folder)))
}
// if it is a regular file, just uglify it and output
else {
return gulp.src(path.join(root, folder, file))
.pipe(uglify())
.pipe(gulp.dest(path.join(rootOut, folder)));
}
});
});
});