Reputation: 4284
Given a source js And I want to generate two copies of it
One of them is the concat browserify version And the other is a uglified browserfied version
I had managed to come out with the gulp.js below for the task:
var gulp = require('gulp');
var browserify = require('browserify');
var uglify = require('gulp-uglify');
var source = require('vinyl-source-stream');
var rename = require('gulp-rename');
var streamify = require('gulp-streamify')
gulp.task('js',function(){
var outputDir = 'someoutputfolder';
browserify('main.js')
.bundle({debug:true})
.pipe(source('build.js'))
.pipe(gulp.dest(outputDir));
browserify('main.js')
.bundle({debug:true})
.pipe(source('build.js'))
.pipe(streamify(uglify()))
.pipe(gulp.dest(outputDir));
});
I wonder whether there is a more efficient way to accomplish my objective.
Any help is appreciated.
Upvotes: 0
Views: 543
Reputation: 3499
Well at this point I suppose you're just looking for the DRY-est possible implementation, so perhaps:
var gulp = require('gulp');
var browserify = require('browserify');
var uglify = require('gulp-uglify');
var source = require('vinyl-source-stream');
var rename = require('gulp-rename');
var streamify = require('gulp-streamify')
gulp.task('js',function(){
var outputDir = 'someoutputfolder';
var bundle = browserify('main.js')
.bundle({debug:true});
bundle.pipe(source('build.js'))
.pipe(gulp.dest(outputDir));
bundle.pipe(source('build-min.js'))
.pipe(streamify(uglify()))
.pipe(gulp.dest(outputDir));
});
I'm honestly not sure this buys you much, but I guess it's a little better.
Upvotes: 2