2017-11-13 1 views
0

Ich versuche, ZIP-Archiv in Schluck mit gulp-decompress herunterladen und entpacken. Aber bekomme einen Fehler. Mein schluck Aufgabe sieht wie folgt aus:Wie kann man Dateien über Pipelines im Schluck herunterladen und entpacken?

var request = require('request'); 
var decompress = require('gulp-decompress'); 

gulp.task('unzip', function() { 
    request('http://my-server-url/files/report.zip') 
     .pipe(decompress()) 
     .pipe('./uploads') 
}); 

Nach gulp Ausführung erhalte ich folgende Fehlermeldung:

node_modules\gulp-decompress\index.js:11 
       if (file.isNull()) { 
         ^

TypeError: file.isNull is not a function 
+0

Sind Sie sicher, dass Sie mit dem Aufruf von request() in die Pipe gelangen? Sie könnten zum Beispiel mit Schluck-Tipp überprüfen. – Mark

+0

@Mark könnten Sie bitte ein Beispiel geben? – Erik

Antwort

2

Ich versuchte es mit Anfrage und bekam die gleichen Fehler wie Sie. Es muss wahrscheinlich in einen lesbaren oder beschreibbaren Stream (fs.) Umgewandelt werden, bevor in der Pipeline fortgefahren wird, die ich ohne zu viel Zeit nicht zur Arbeit bringen konnte.

So lassen Sie mich empfehlen gulp-download, die viel einfacher ist als Anfrage.

const gulp = require('gulp'); 
const download = require("gulp-download"); 
const decompress = require('gulp-decompress'); 

const url = 'http://my-server-url/files/report.zip'; 

gulp.task('unzip', function() { 

    download(url) 

    .pipe(decompress()) 
    .pipe(gulp.dest("unzipped")); 
}); 

Es ist ziemlich einfach. Ich bin sicher, andere könnten Ihnen sagen, wie Sie das Modul Anfrage zum Arbeiten bekommen, wenn das notwendig ist.

+0

Danke. Das ist eine sehr gute Lösung für mich – Erik

Verwandte Themen