2017-02-08 4 views
1

Ich muss eine Schluck-Task ausführen, die 3 oder 4 weitere Aufgaben enthält. Das Problem ist (Stufen):Ausführen von Gulp-Aufgabe nacheinander in einer bestimmten Reihenfolge

  1. In Aufgabe # 1 I-Datei von Remote-Server herunterladen müssen
  2. Nach dem Download abgeschlossen, ich brauche Aufgabe # 2
  3. Und wenn Aufgabe # 2 getan Ich muss laufen laufen Aufgabe # 3

Dies ist mein Code:

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']);

Wie Sie sehen können, wenn ich ‚install‘ Aufgabe ausgeführt werden soll ich versucht - es läuft ‚dekomprimieren-wp‘ vor ‚Download‘ abgeschlossen ist ...

Was mache ich falsch?

Ich muss 'unzip-wp' Task nur ausführen, nachdem 'Download' Task abgeschlossen wurde.

Dank

+0

Können Sie bitte ein Beispiel angeben? – vol4ikman

Antwort

3

Sie sollten die 'dekomprimieren-wp' Task Warten auf den 'Download' Aufgabe zu beenden haben. Um sicherzustellen, dass die ‚Download‘ Aufgabe ist wirklich fertig fügt auch eine return-Anweisung zu dieser Aufgabe, dh dies tun würde, was Sie suchen:

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']); 
0

Sehr einfach es keine Notwendigkeit von unzip Aufgabe wird es auch entpacken Sie sie in den Wordpress-Ordner, um Ihre anderen Dateien nicht zu beschädigen.

gulp.task('download', function(){ 
    download(src_download) 
    .pipe(decompress({strip: 1})) 
    .pipe(gulp.dest('./wordpress')); 
}); 


gulp.task('default', ['download']); 
Verwandte Themen