javascript - Using gulp-if with gulp-useref and gulp-uglify -
i want use gulp-useref concatenate of javascript files one.
within javascript files have mixture of pre-minified , non-minified files.
i uglify files not minified (for build performance reasons) , https://github.com/jonkemp/gulp-useref#transform-streams suggests possible (in fact, looks easy). following gulp task definition:
gulp.task('compile', function () { return gulp.src('index.html') .pipe(useref({}, lazypipe().pipe(function() { return gulpif(['*.js', '!*.min.js'], uglify()); }))) .pipe(gulp.dest(paths.build)); });
this works, in concatenated file non-minified files remain unminified (pre-minified files still minified -- expected).
my code partially based on this: https://github.com/craigjennings11/gulp-uglifyjs
any idea why files not being minified?
references
the problem here useref passing through concatinated file names, not individual file names concatinated.
//in html <!-- build:js assets/scripts/concat.js --> // <-- 1 <script src="assets/scripts/jquery.min.js"></script> // <-- not 1 <script src="assets/scripts/gsap.min.js"></script> // <-- not 1 <script src="assets/scripts/script1.js"></script> // <-- not 1 <script src="assets/scripts/script2.js"></script> // <-- not 1 <!-- endbuild -->
so ever pipe after have applied entire concatinated file.
but little rearranging this:
//in html <!-- build:js assets/scripts/libs.js --> <script src="assets/scripts/jquery.min.js"></script> <script src="assets/scripts/gsap.min.js"></script> <!-- endbuild --> <!-- build:js assets/scripts/main.js --> <script src="assets/scripts/script1.js"></script> <script src="assets/scripts/script2.js"></script> <!-- endbuild -->
that way can use gulp-if isolate main.js uglify:
.pipe(gulpif('main.js', uglify()))
Comments
Post a Comment