gulp下静态资源的合并、压缩、MD5后缀

    var gulp = require('gulp');  
    var RevAll = require('gulp-rev-all');  
    var uglify = require('gulp-uglify');  
    var filter = require('gulp-filter');  
    var csso = require('gulp-csso');  
    var useref = require('gulp-useref');  
      
      
    gulp.task('default', function () {  
      
        var jsFilter = filter("**/*.js");  
        var cssFilter = filter("**/*.css");  
        var htmlFilter = filter('**/*.html');  
      
        var assets = useref.assets();  
      
        var revAll = new RevAll({   
      
            //不重命名文件  
            dontRenameFile: ['.html'] ,  
      
            //无需关联处理文件  
            dontGlobal: [ /^\/favicon.ico$/ ,'.bat','.txt'],  
      
            //该项配置只影响绝对路径的资源  
            prefix: 'http://s0.static.server.com'   
        });  
      
        return gulp.src(['staticPreprocessing/src/**'])  
              
            //合并html里面的js/css  
            .pipe(htmlFilter)  
            .pipe(assets)  
            .pipe(assets.restore())  
            .pipe(useref())  
            .pipe(htmlFilter.restore())  
      
            //压缩js  
            .pipe(jsFilter)  
            .pipe(uglify())   
            .pipe(jsFilter.restore())  
      
            //压缩css  
            .pipe(cssFilter)  
            .pipe(csso())  
            .pipe(cssFilter.restore())  
      
            //加MD5后缀  
            .pipe(revAll.revision())  
      
            //输出  
            .pipe(gulp.dest('staticPreprocessing/dist'))  
      
            //生成映射json文件  
            .pipe(revAll.manifestFile())  
            .pipe(gulp.dest('staticPreprocessing/dist'));  
    });  
      
    gulp.task('watch', function () {  
       gulp.watch('staticPreprocessing/src/**', ['default']);  
    });  

 

转载:http://mutongwu.iteye.com/blog/2208607

posted on 2015-09-03 23:31  今天又进步了  阅读(1420)  评论(0编辑  收藏  举报

导航