CSS reduces and renames with gulp

I have a type variable

var files = { 'foo.css': 'foo.min.css', 'bar.css': 'bar.min.css', }; 

What I want to do gulp for me is minify files and then rename for me.

But tasks are currently written as (for a single file)

 gulp.task('minify', function () { gulp.src('foo.css') .pipe(minify({keepBreaks: true})) .pipe(concat('foo.min.css')) .pipe(gulp.dest('./')) }); 

How to rewrite it to work with my files variable defined above?

+22
css gulp gulp-watch
Sep 10 '14 at 11:49
source share
3 answers

You should be able to select any files necessary for your src using Glob, and not define them in an object, which should simplify your task. In addition, if you want css files to be minified into separate files, you do not need to concatenate them.

 var gulp = require('gulp'); var minify = require('gulp-minify-css'); var rename = require('gulp-rename'); gulp.task('minify', function () { gulp.src('./*.css') .pipe(minify({keepBreaks: true})) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest('./')) ; }); gulp.task('default', ['minify'], function() { }); 
+44
Sep 10 '14 at 16:58
source share
— -

I tried earlier answers, but I got an endless loop because I did not ignore files that were already rated.

First use this code, similar to the other answers:

 //setup minify task var cssMinifyLocation = ['css/build/*.css', '!css/build/*.min.css']; gulp.task('minify-css', function() { return gulp.src(cssMinifyLocation) .pipe(minifyCss({compatibility: 'ie8', keepBreaks:false})) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest(stylesDestination)); }); 

Note the '!css/build/*.min.css' in src (i.e. var cssMinifyLocation)

 //Watch task gulp.task('default',function() { gulp.watch(stylesLocation,['styles']); gulp.watch(cssMinifyLocation,['minify-css']); }); 

You must ignore the thumbnail files in both the watch and the task.

+10
Oct 22 '15 at 23:01
source share

This is what I did

 var injectOptions = { addSuffix: '?v=' + new Date().getTime() }; 

Then

 return gulp.src('*.html') .pipe(wiredep(options)) .pipe(inject(injectSrc, injectOptions)) .pipe(gulp.dest('')); 

End result: added a unique timestamp

Example in index.html

  <script src="/public/js/app.js?v=1490309718489"></script> 
+2
Mar 23 '17 at 22:59
source share



All Articles