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

时间:2017-11-13 13:56:21

标签: gulp unzip

我正在尝试使用gulp-decompress下载并解压缩zip存档。但是得到一个错误。我的gulp任务如下所示:

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

1 个答案:

答案 0 :(得分:3)

我尝试使用请求并得到了与您相同的错误。它可能必须转换为可读或可写的流(fs。),然后继续进入管道,如果不花太多时间我就无法工作。

因此,我建议gulp-download 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"));
});

这很简单。我敢肯定,如果有必要,其他人可以告诉你如何让模块请求工作。