Gulp:对象#<可读>没有方法&#39;写&#39;错误</可读>

时间:2015-04-09 21:15:39

标签: gulp

尝试运行gulp命令时出现此错误。它上周运作良好。我现在收到以下错误的原因是什么?

TypeError: Object #<Readable> has no method 'write'

这就是JS任务的样子。

// JS task
gulp.task('js', function () {
  var browserified = transform(function(filename) {
    var b = browserify(filename);
    return b.bundle();
  });
  return gulp.src('./src/js/*.js')
    .pipe(browserified)
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(uglify())
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./Build/js'))
    .pipe(reload({stream: true}))
});

以下是指向整个gulpfile.jshttps://github.com/realph/gulp-zero/blob/master/gulpfile.js

的链接

感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

目前你有browserify的版本? Browserify最近改变为不接受内向流,只是创建一些。这将是正确的,适应的代码:

var source = require('vinyl-source-stream');
var buffer = require('gulp-buffer');

gulp.task('js', function () {
  return browserify({entries:['./src/js/main.js']})
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(buffer())
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(uglify())
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./Build/js'))
    .pipe(reload({stream: true}))
});

更新我将filename更改为真实文件。请注意,如果您只有一个文件,browserify最有效。如果您必须创建多个捆绑包,请参阅this article