如何在gulp中通过管道下载和解压缩文件?

如何在gulp中通过管道下载和解压缩文件?,gulp,unzip,Gulp,Unzip,我正试图通过使用下载和解压压缩文件。但是有一个错误。我的吞咽任务如下所示: var request = require('request'); var decompress = require('gulp-decompress'); gulp.task('unzip', function () { request('http://my-server-url/files/report.zip') .pipe(decompress()) .pipe('./upload

我正试图通过使用下载和解压压缩文件。但是有一个错误。我的吞咽任务如下所示:

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')
});
执行
gulp
后,我得到以下错误:

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

TypeError: file.isNull is not a function
我按要求试了一下,得到了和你一样的错误。它可能必须先转换成可读或可写的流(fs),然后才能继续在管道中运行,如果不花费太多时间,我就无法开始工作

所以,让我推荐一种比请求更简单的方法


这很简单。我相信其他人可以告诉您如何让模块请求在必要时工作。

您确定您正在通过request()调用进入管道吗?例如,你可以用大口水龙头检查。@马克,你能举个例子吗?
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"));
});