const gulp = require('gulp'); const $ = require('gulp-load-plugins')(); const source = require('vinyl-source-stream'); const browserify = require('browserify'); gulp.task('build', () => browserify('./src/app.js').bundle() .pipe(source('app.js')) .pipe(gulp.dest('./build')) // OK. app.js is saved. .pipe($.rename('app.min.js')) .pipe($.streamify($.uglify()) .pipe(gulp.dest('./build')) // Fail. app.min.js is not saved. );
Piping to multiple destinations when file.contents is a stream is not currently supported. What is a workaround for this problem?
There are three streams after 10th, i.e. Science, Commerce and Arts. These streams are vast and extensive worlds with wide-ranging sub-disciplines and branches that you can further explore after concluding your schooling.
dest() Creates a stream for writing Vinyl objects to the file system.
Currently you have to use two streams for each dest when using file.contents as a stream. This will probably be fixed in the future.
var gulp = require('gulp'); var rename = require('gulp-rename'); var streamify = require('gulp-streamify'); var uglify = require('gulp-uglify'); var source = require('vinyl-source-stream'); var browserify = require('browserify'); var es = require('event-stream'); gulp.task('scripts', function () { var normal = browserify('./src/index.js').bundle() .pipe(source('bundle.js')) .pipe(gulp.dest('./dist')); var min = browserify('./src/index.js').bundle() .pipe(rename('bundle.min.js')) .pipe(streamify(uglify()) .pipe(gulp.dest('./dist')); return es.concat(normal, min); });
EDIT: This bug is now fixed in gulp. The code in your original post should work fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With