2016-09-20 4 views
0

Ich habe eine APK-Datei in meinem Quellordner bekommen und ich möchte nur die Größe der Datei (in Bytes) mit einem Schluck Aufgabe bekommen und diese Größe in einer XML-Datei zu aktualisieren.wie Dateigröße in Bytes durch schluck Aufgabe

Unten ist mein schluck Aufgabe:

gulp.task('geteditmscript', function(){ 
    gulp.src("source/deployment.xml") 
     .pipe(xeditor([ 
      {path: '//SCRIPT', attr: {'revision': json.version}}, 
      {path: '//APP', attr: {'size': gulp.src('source/*.apk').pipe(size())}} 
     ])) 
     .pipe(gulp.dest("source/")); 
}); 

enter image description here

Antwort

0

Ihr Code funktioniert nicht, weil gulp.src('source/*.apk').pipe(size()) keine Dateigröße zurück. Es gibt eine stream zurück.

Und während gulp-size gibt Ihnen auf die Gesamtgröße Zugriff auf alle Dateien über seine .size property dies ist nur nach alle Dateien verarbeitet worden sind.

Das bedeutet, dass Sie Ihren xeditor() Stream verzögern müssen, bis der size() Stream beendet ist. Sie können das tun, indem sie in einen on('finish', ...) Handler platzieren:

gulp.task('geteditmscript', function(cb) { 

    var apkSize = size(); 

    gulp.src('source/*.apk') 
    .pipe(apkSize) 
    .on('finish', function() { 

     gulp.src("source/deployment.xml") 
     .pipe(xeditor([ 
      {path: '//SCRIPT', attr: {'revision': json.version}}, 
      {path: '//APP', attr: {'size': apkSize.size }} 
     ])) 
     .pipe(gulp.dest("source/")) 
     .on('end', cb); 

    }); 
}); 
+0

die oben schluck Aufgabe hat auch gleiches Problem, Größe wie Größe Aktualisierung = „[object Object]“ – jayesh

+0

nicht möglich. Ich habe den Code getestet und es funktioniert. Du hast irgendwo einen Fehler gemacht. –

+0

Könnten Sie bitte überprüfen, ist xml nicht <= "1" SCRIPT jetzt Revision = "1.0.15"> mit über schluck Aufgabe geändert jayesh

Verwandte Themen