• 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']);
    });
    

      

  • 相关阅读:
    学习进度笔记14
    学习进度笔记13
    学习进度笔记12
    学习进度笔记11
    学习进度笔记10
    学习进度笔记9
    学习进度笔记8
    学习进度笔记7
    学习进度笔记6
    微信客户端兼容性
  • 原文地址:https://www.cnblogs.com/chris-oil/p/5277668.html
Copyright © 2020-2023  润新知