我需要运行一个包含3或4个其他任务的gulp任务。问题是(步骤):
这是我的代码:
var gulp = require('gulp'),
decompress = require('gulp-decompress'),
download = require("gulp-download"),
ftp = require('gulp-ftp'),
gutil = require('gulp-util');
gulp.task('default', function(){
console.log("Hello gulp");
});
var src_download = [
"https://wordpress.org/latest.zip"
];
gulp.task('download', function(){
download(src_download)
.pipe(gulp.dest("./"));
});
gulp.task('unzip-wp', function(){
return gulp.src('latest.zip')
.pipe(decompress({strip: 1}))
.pipe(gulp.dest('./'));
});
gulp.task('install', ['download', 'unzip-wp']);
正如您所看到的,当我尝试运行'install'任务时 - 它将在'download'完成之前运行'unzip-wp'...
我做错了什么?
我只有在'下载'任务完成后才需要运行'unzip-wp'任务。
由于
答案 0 :(得分:3)
你应该拥有' unzip-wp'任务等待下载'完成任务。确保下载'任务真的完成了也为该任务添加了一个return语句,即这可以做你想要的:
var gulp = require('gulp'),
decompress = require('gulp-decompress'),
download = require("gulp-download"),
ftp = require('gulp-ftp'),
gutil = require('gulp-util');
gulp.task('default', function () {
console.log("Hello gulp");
});
var src_download = [
"https://wordpress.org/latest.zip"
];
gulp.task('download', function () {
return download(src_download)
.pipe(gulp.dest("./"));
});
gulp.task('unzip-wp', ['download'], function () {
return gulp.src('latest.zip')
.pipe(decompress({strip: 1}))
.pipe(gulp.dest('./'));
});
gulp.task('install', ['unzip-wp']);
答案 1 :(得分:0)
非常简单,不需要解压缩任务,它也会解压缩到wordpress文件夹中,以免它弄乱你的其他文件。
gulp.task('download', function(){
download(src_download)
.pipe(decompress({strip: 1}))
.pipe(gulp.dest('./wordpress'));
});
gulp.task('default', ['download']);