zoukankan      html  css  js  c++  java
  • 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']);
    });
    

      

  • 相关阅读:
    Javascript MVC学习杂记3
    Backbone.js 0.9.2 源码分析收藏
    Javascript MVC学习杂记2
    Javascript MVC学习杂记1
    C语言string.h中常用字符函数介绍
    10点网页设计要注意的细节
    js日期函数
    结合回调函数介绍下泛型函数
    【转载】互斥量和信号量的区别
    设计模式之Singleton
  • 原文地址:https://www.cnblogs.com/chris-oil/p/5277668.html
Copyright © 2011-2022 走看看