You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Gulp压缩JS时遇TypeError:streams需为函数,收到Pumpify实例

Gulp压缩JS报错:TypeError: The "streams[stream.length - 1]" property must be of type function

问题详情

执行Gulp压缩JS任务时触发错误:
TypeError: The "streams[stream.length - 1]" property must be of type function. Received an instance of Pumpify

完整错误日志:

Using gulpfile MY_PROJECT_PATH\gulpfile.js
Starting 'compress'...
'compress' errored after 21 ms
TypeError: The "streams[stream.length - 1]" property must be of type function. Received an instance of Pumpify
at popCallback (MY_PROJECT_PATH\node_modules\readable-stream\lib\internal\streams\pipeline.js:59:3)
at pipeline (MY_PROJECT_PATH\node_modules\readable-stream\lib\internal\streams\pipeline.js:134:37

当前gulpfile.js代码:

var gulp = require('gulp');
var uglify = require('gulp-uglify');
var pipeline = require('readable-stream').pipeline;

gulp.task('compress', function () {
   return pipeline(
       gulp.src('DIR_NAME/*.js'),
       uglify(),
       gulp.dest('DIR_NAME/dist')
   );
});

package.json依赖配置:

{
  "devDependencies": {
     "gulp": "^4.0.2",
     "gulp-uglify": "^3.0.2",
     "pipeline": "^0.1.3",
     "pumpify": "^2.0.1",
     "readable-stream": "^4.3.0"
    }
}

解决方法

原因分析

readable-stream 4.x版本的pipeline API要求最后一个参数必须是回调函数,但Gulp的gulp.dest()返回的是流对象,不符合该API的参数要求,因此触发错误。

方案一:改用pump包实现流管道

  1. 安装pump依赖:
npm install pump --save-dev
  1. 修改gulpfile.js代码:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var pump = require('pump');

gulp.task('compress', function (cb) {
   pump([
       gulp.src('DIR_NAME/*.js'),
       uglify(),
       gulp.dest('DIR_NAME/dist')
   ], cb);
});

方案二:降级readable-stream到3.x版本

  1. 卸载当前的readable-stream:
npm uninstall readable-stream
  1. 安装3.x兼容版本:
npm install readable-stream@3 --save-dev

降级后原gulpfile.js代码无需修改即可正常运行。

额外清理

你安装的pipeline包是无关依赖,可执行以下命令卸载:

npm uninstall pipeline

内容的提问来源于stack exchange,提问作者Hady Shaltout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:15:13