我开始使用Gulp JS,并且必须承认我发现它非常有用。
我需要执行的任务之一是将一组文件夹压缩成单独的zip文件,每个文件夹一个zip文件,然后将所有这些zip文件压缩成一个单一的zip文件。使用Gulp-Zip,我已经成功实现了这一点:
这个程序会生成ELFH_Check.zip、ELFH_DDP.zip和ELFH_Free.zip三个压缩文件。然而,我现在需要将这些压缩文件打包成一个名为“Templates.zip”的压缩文件,但是我还没有成功完成这个任务。
有人知道这是否可能或者我做错了什么吗?
我需要执行的任务之一是将一组文件夹压缩成单独的zip文件,每个文件夹一个zip文件,然后将所有这些zip文件压缩成一个单一的zip文件。使用Gulp-Zip,我已经成功实现了这一点:
var modelFolders = [
'ELFH_Check',
'ELFH_DDP',
'ELFH_Free'
];
gulp.task('zipModels', function () {
for (var i = 0; i < modelFolders.length; i++) {
var model = modelFolders[i];
gulp.src('**/*', {cwd: path.join(process.cwd(), '/built_templates/' + model) })
.pipe(zip(model + '.zip'))
.pipe(gulp.dest('./built_templates'));
};
});
这个程序会生成ELFH_Check.zip、ELFH_DDP.zip和ELFH_Free.zip三个压缩文件。然而,我现在需要将这些压缩文件打包成一个名为“Templates.zip”的压缩文件,但是我还没有成功完成这个任务。
// zip up model files
gulp.task('zipTemplate', ['zipModels'], function () {
gulp.src('*.zip', {cwd: path.join(process.cwd(), './built_templates/') })
.pipe(zip('Templates_.zip'))
.pipe(gulp.dest('./built_templates'));
});
有人知道这是否可能或者我做错了什么吗?
exec
。这没有问题。不过最好写一个插件,并且在gulp.src
中传递{read: false}
,因为你并不需要文件的内容,只需要路径。最好的方法是将内容传输到命令行实用程序中,但是如果你只能使用 7Zip,它将不允许压缩文件。 - Caio Cunha